Hi,
I have the following situation:
I have ProjectMain, and ProjectPlugin, now normally the Plugin depends on Main, however I would like to load Plugin as part of Main.
The problem is that I can't specify to load Plugin after Main has been already fully loaded, if I do something like this
BaselineOfMain>>baseline: spec
<baseline>
spec
for: #common
do:
[ spec
baseline: 'Plugin'
with: [ spec
repository: '...';
loads: #('default' OR 'plugin') ].
spec
package: 'Main' with: [ spec requires: #(more stuff) ];
spec group: 'default' with: #('Main').
spec��group: 'complete' with: #('default' 'Plugin') ]
The BaselineOfPlugin has two groups��� "default", which loads also "Main", and "plugin", which doesn't.
Now the problem is that there is no guaranteed way that Plugin will load after Main (in fact the should happen). If I load the plugin's #default, then Metacello ends up in an endless loop for some reason, and if I load #plugin, then it will load it before the Main which will break it (because Plugin has dependencies on main).
So my question is:
is it possible to reverse it somehow?
Maybe add at the end `spec��postLoadDoIt: #postLoadPlugins`, and then in that method manually load the plugins with Metacello/Gofer? Or is there a better way?
Thanks,
Peter