Ahhh! Interesting solution to your problem ... funky but using tested features! On 4/25/19 1:23 AM, Norbert Hartl wrote:
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 <norbert@hartl.name <mailto:norbert@hartl.name>>:
Am 25.04.2019 um 01:13 schrieb Dale Henrichs <dale.henrichs@gemtalksystems.com <mailto:dale.henrichs@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