Dale,

looking at my code I really like the idea solving my white label problem with 
polymorphism. It makes things much easier IMHO. So ended up doing something 
like having something like this

BaselineOfCoreProduct
…
    spec group: ‚whiteLabel‘ with: #( ‚BaselineOfWhiteLabelProduct‘ )
…

and doing 

    Metacello new
       baseline: #CoreProduct
       load: ‚whiteLabel‘;
       baseline: #WhiteLabelProduct;
       load

This way each baseline is still in its own package. The project is not for 
public consumption so we have to do that in our deployment process nowhere else.

Norbert


> Am 25.04.2019 um 09:51 schrieb Norbert Hartl <norb...@hartl.name>:
> 
> 
> 
>> Am 25.04.2019 um 01:13 schrieb Dale Henrichs 
>> <dale.henri...@gemtalksystems.com>:
>> 
>> 
>> On 4/24/19 3:08 PM, Norbert Hartl wrote:
>>> I don‘t have an idea how to achieve this with a group. It is about changing 
>>> the number of dependencies of one package.
>> 
>> There's load order and there's grouping...
>> 
>> If you are using #linear loads for a BaselineOf then hard dependencies 
>> (Metacello requires:) dictate load  order and load order is important.
>> 
>> If you are using #atomic loads, then load order for packages is not 
>> important ... for #atomic loads you only need to specify which set of 
>> packages you want to have loaded together ... so if you have a baseline 
>> where you don't use #requires: anywhere and simply define different groups 
>> for each set of package to want to have loaded together (one for productA 
>> and another for productB) ... you should be able to get what you want ...
>> 
>> If this is a public baseline, then you have to warn users of your project 
>> that the only legally loadable entities are the set of groups that you've 
>> created, then things should work well ... ... I'd think:)
>> 
>>> 
>>> So no way of making Metacello load a package with one name and load a 
>>> baseline with another name?
>> 
>> Not sure what you are thinking about here ... i think I need a concrete 
>> example of what you mean here…
>> 
> Sorry, I wasn’t clear. I was talking about the possibility to have a basline 
> loaded where the package name and the name of the baseline are not the same. 
> So let’s say I have the two baselines in the BaselineOfCoreProduct. Then I 
> would need to do something like
> 
> Metacello new
>   package: „BaselineOfCoreProduct“;
>   baseline: #BaselineOfWhiteLabelProduct;
>   load
> 
> That would be sufficient. Having all the baselines in one package would be a 
> smaller problem then.
> 
> Norbert

Reply via email to