[Pharo-dev] How does Metacello decide what is already loaded ?

Sven Van Caekenberghe sven at stfx.eu
Thu Feb 14 14:28:26 EST 2019


OK, where is the registry, how does it work, where can I read about it ?

Let's make this more concrete: I load Bootstrap which will load Seaside and I load Material Design Lite which will load Seaside. Will Seaside be loaded twice ? On what does this depend ? How can we as a community make sure we are talking about the same Seaside ?

That is essentially my question.

I know it is not an easy question, but I find it an important one.

> On 14 Feb 2019, at 20:09, Esteban Maringolo <emaringolo at gmail.com> wrote:
> 
> As Sean said, when using Metacello scripting, it uses a registry, and
> that's how it achieves the version "lock", "use local"  or "use
> incoming" version.
> 
> And yes... there are a lot of things that "just work", we thank it,
> take for granted, and complain when they fail :)
> 
> Regards,
> 
> Esteban A. Maringolo
> 
> El jue., 14 feb. 2019 a las 14:50, Sven Van Caekenberghe
> (<sven at stfx.eu>) escribió:
>> 
>> 
>> 
>>> On 14 Feb 2019, at 18:40, Sean P. DeNigris <sean at clipperadams.com> wrote:
>>> 
>>> Sven Van Caekenberghe-2 wrote
>>>> How does Metacello decide what is already loaded ?
>>> 
>>> IIRC, if you load via the scripting API (i.e. 'Metacello new..."), versions
>>> are kept in a registry, but if you use e.g. Gofer, it "guesses" the version
>>> based on the package versions present. I can't answer your more specific
>>> questions, but since one can "lock" based e.g. on repository location, that
>>> must be considered somewhere. Also, NB, I doubt Dale actively follows this
>>> list, so you may want to ping him.
>> 
>> But is it not a bit sad that we don't know ?
>> 
>> We're using it all the time, but we lack important information.
>> 
>> This is probably because somehow Metacello does the right thing automagically, but still.
> 




More information about the Pharo-dev mailing list