Hi Kilon,
I think you can simply do:
baseline: spec
<baseline>
spec
for:
#pharo
do: [�
spec
baseline: 'SmaCC' with: [ spec repository:
'github://ThierryGoubier/SmaCC' ].
spec
package: 'Ephestos' with: [ spec requires: #('SmaCC') ] ]
You can also restrict what you load from SmaCC in this way:
baseline: spec
<baseline>
spec
for:
#pharo
do:
[�
spec
baseline: 'SmaCC' with: [ spec repository:
'github://ThierryGoubier/SmaCC' ].
spec
import: 'SmaCC'.
spec
package: 'Ephestos' with: [ spec requires:
#('SmaCC-Python') ] ]
(i.e. by importing the baseline of SmaCC, you can choose
among the groups or the packages of SmaCC...)
From what Dale told me, you can only import one baseline
this way. But you can add from more than one baseline with
import: provides:
baseline: spec
<baseline>
spec
for:
#pharo
do: [�
spec
baseline: 'SmaCC' with: [ spec repository:
'github://ThierryGoubier/SmaCC' ].
spec
import: 'SmaCC' provides: #('SmaCC-Python').
spec
package: 'Ephestos' with: [ spec requires:
#('SmaCC-Python') ] ]
Dale, is that correct? I haven't tested those, so...
Note that any kind of repository can host a baseline this
way, smalltalkhub, squeaksource, etc...
version05: spec
<version:
'0.5'>
spec
for:
#'pharo4.x'
do: [�
spec
baseline:
'GitFileTree'
import:
'GitFileTree' ]
And of course a baseline can require a configuration...
I'm still exploring all the possibilities this allows
(and, more important, how configurations may be simplified
to defer effective loading to a baseline inside the master
repository, so that the configuration very rarely has to be
updated).
Thierry