On 8/31/16 4:34 AM, Denis Kudriashov wrote:
Hi Dale.
2016-06-24 21:53 GMT+02:00 Dale Henrichs
<dale.henri...@gemtalksystems.com
<mailto:dale.henri...@gemtalksystems.com>>:
Does the following meet your needs?
project: 'Magritte3' with: [
spec
className:
#ConfigurationOfMagritte3;
versionString: #'stable';
repository:
'http://smalltalkhub.com/mc/Magritte/Magritte3/main/
<http://smalltalkhub.com/mc/Magritte/Magritte3/main/>' ];
project: 'Magritte3Seaside'
copyFrom: 'Magritte'
with: [ spec loads: #('Seaside' ) ];
project: 'Magritte3Core'
copyFrom: 'Magritte'
with: [ spec loads: ##('Core' ) ];
I assume the "stupid workaround" is the fact that in your example
you had to specify Magritte twice? #project:copyFrom:with: has
been around for a long time in Metacello and was invented to solve
this particular problem ... FWIW, this feature is documented in
Lesson12 of "Metacello Configuration Tutorial Part 2" in the Help
Browser ...
Yes, this is pattern which we all must use. But problem that it is
duplication of groups definition in all dependant projects.
Norbert suggest solution for this by referencing group name inside
dependency list (spec requires: #( 'Magritte3*:Core*' )). I really
like this idea.
Denis, thanks for clarifying. I can definitely see that
'Magritte3*:Core*' is more convenient ...
Could you add a Metacello issue[1] with these details? I don't have any
major Metacello work scheduled in the near term so it will probably be a
while before I implement such a feature. At first blush it would seem to
require a bit of rework in the project name space implementation.
A pull request with an implementation would be even better:)
Dale
[1] https://github.com/dalehenrich/metacello-work/issues/new