Differences when loading metacello stable configurations

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Differences when loading metacello stable configurations

Guillermo Polito
Hi guys!

I'm having different behaviors when loading metacello configurations using the configuration directly and using gofer:

"This loads well"
Gofer it smalltalkhubUser: 'DBXTalk' project: 'DBXTalkDriver';
package: 'ConfigurationOfOpenDBXDriver';
load.
(ConfigurationOfOpenDBXDriver project version: #stable)
load: 'default'

"This tries to load the version 1.2 of the configuration which is not stable and doesn't work on pharo3..."
Gofer it smalltalkhubUser: 'DBXTalk' project: 'DBXTalkDriver';
configurationOf: 'OpenDBXDriver';
loadVersion: #stable.

Apparently that's because...

In GoferMetacelloLoad>>metacelloVersion

It tries to fetch the first the latest version for a blessing and just afterwards it tries to get the explicit version...

And yes!

ConfigurationOfOpenDBXDriver project latestVersion: #stable => 1.2

But that is using the blessing... So yes, blessing of version 1.2 is stable.

Shouldn't the #loadVersion: from Gofer behave the same as Metacello?

Anyways, I can change the blessing of my old version I think, that can solve my problem quickly :)

Guille
Reply | Threaded
Open this post in threaded view
|

Re: Differences when loading metacello stable configurations

Max Leske

On 27.04.2014, at 13:55, Guillermo Polito <[hidden email]> wrote:

> Hi guys!
>
> I'm having different behaviors when loading metacello configurations using the configuration directly and using gofer:
>
> "This loads well"
> Gofer it smalltalkhubUser: 'DBXTalk' project: 'DBXTalkDriver';
> package: 'ConfigurationOfOpenDBXDriver';
> load.
>
> (ConfigurationOfOpenDBXDriver project version: #stable)
> load: ‘default'

You’re not specifying ‘default’ below. Could that make a difference?

>
> "This tries to load the version 1.2 of the configuration which is not stable and doesn't work on pharo3..."
> Gofer it smalltalkhubUser: 'DBXTalk' project: 'DBXTalkDriver';
> configurationOf: 'OpenDBXDriver';
> loadVersion: #stable.
>
> Apparently that's because...
>
> In GoferMetacelloLoad>>metacelloVersion
>
> It tries to fetch the first the latest version for a blessing and just afterwards it tries to get the explicit version...
>
> And yes!
>
> ConfigurationOfOpenDBXDriver project latestVersion: #stable => 1.2
>
> But that is using the blessing... So yes, blessing of version 1.2 is stable.
>
> Shouldn't the #loadVersion: from Gofer behave the same as Metacello?
>
> Anyways, I can change the blessing of my old version I think, that can solve my problem quickly :)
>
> Guille


Reply | Threaded
Open this post in threaded view
|

Re: Differences when loading metacello stable configurations

Guillermo Polito
If I do a normal load it happens the same. The thing is that GoferMetacelloLoad fetches first some version using the blessing and then using the version number/symbol.


On Sun, Apr 27, 2014 at 2:05 PM, Max Leske <[hidden email]> wrote:

On 27.04.2014, at 13:55, Guillermo Polito <[hidden email]> wrote:

> Hi guys!
>
> I'm having different behaviors when loading metacello configurations using the configuration directly and using gofer:
>
> "This loads well"
> Gofer it smalltalkhubUser: 'DBXTalk' project: 'DBXTalkDriver';
>       package: 'ConfigurationOfOpenDBXDriver';
>       load.
>
> (ConfigurationOfOpenDBXDriver project version: #stable)
>       load: ‘default'

You’re not specifying ‘default’ below. Could that make a difference?

>
> "This tries to load the version 1.2 of the configuration which is not stable and doesn't work on pharo3..."
> Gofer it smalltalkhubUser: 'DBXTalk' project: 'DBXTalkDriver';
>       configurationOf: 'OpenDBXDriver';
>       loadVersion: #stable.
>
> Apparently that's because...
>
> In GoferMetacelloLoad>>metacelloVersion
>
> It tries to fetch the first the latest version for a blessing and just afterwards it tries to get the explicit version...
>
> And yes!
>
> ConfigurationOfOpenDBXDriver project latestVersion: #stable => 1.2
>
> But that is using the blessing... So yes, blessing of version 1.2 is stable.
>
> Shouldn't the #loadVersion: from Gofer behave the same as Metacello?
>
> Anyways, I can change the blessing of my old version I think, that can solve my problem quickly :)
>
> Guille



Reply | Threaded
Open this post in threaded view
|

Re: Differences when loading metacello stable configurations

Max Leske
To recap (to see if I understood you):
- Gofer loads the blessing, ignoring the platform
- Metacello loads the blessing only if it is defined for the current platform

If the above is correct, then I actually think that the Gofer version is the right way to do it. You *explicitly* ask for the stable blessing and you should get what you ask for.
Both should undoubtedly behave the same way though, so maybe you should open a bug report.

Max

On 27.04.2014, at 14:54, Guillermo Polito <[hidden email]> wrote:

If I do a normal load it happens the same. The thing is that GoferMetacelloLoad fetches first some version using the blessing and then using the version number/symbol.


On Sun, Apr 27, 2014 at 2:05 PM, Max Leske <[hidden email]> wrote:

On 27.04.2014, at 13:55, Guillermo Polito <[hidden email]> wrote:

> Hi guys!
>
> I'm having different behaviors when loading metacello configurations using the configuration directly and using gofer:
>
> "This loads well"
> Gofer it smalltalkhubUser: 'DBXTalk' project: 'DBXTalkDriver';
>       package: 'ConfigurationOfOpenDBXDriver';
>       load.
>
> (ConfigurationOfOpenDBXDriver project version: #stable)
>       load: ‘default'

You’re not specifying ‘default’ below. Could that make a difference?

>
> "This tries to load the version 1.2 of the configuration which is not stable and doesn't work on pharo3..."
> Gofer it smalltalkhubUser: 'DBXTalk' project: 'DBXTalkDriver';
>       configurationOf: 'OpenDBXDriver';
>       loadVersion: #stable.
>
> Apparently that's because...
>
> In GoferMetacelloLoad>>metacelloVersion
>
> It tries to fetch the first the latest version for a blessing and just afterwards it tries to get the explicit version...
>
> And yes!
>
> ConfigurationOfOpenDBXDriver project latestVersion: #stable => 1.2
>
> But that is using the blessing... So yes, blessing of version 1.2 is stable.
>
> Shouldn't the #loadVersion: from Gofer behave the same as Metacello?
>
> Anyways, I can change the blessing of my old version I think, that can solve my problem quickly :)
>
> Guille




Reply | Threaded
Open this post in threaded view
|

Re: Differences when loading metacello stable configurations

Tudor Girba-2
What Guille is saying is that loadVersion: #stable does not imply loading the #stable blessing. In the Metacello lingo, it implies loading the #stable symbolic version.

I think the blessing should be deprecated because it is not maintained reliably (plus it adds yet another level of complexity in Metacello without a direct significant benefit).

Doru


On Sun, Apr 27, 2014 at 3:04 PM, Max Leske <[hidden email]> wrote:
To recap (to see if I understood you):
- Gofer loads the blessing, ignoring the platform
- Metacello loads the blessing only if it is defined for the current platform

If the above is correct, then I actually think that the Gofer version is the right way to do it. You *explicitly* ask for the stable blessing and you should get what you ask for.
Both should undoubtedly behave the same way though, so maybe you should open a bug report.

Max

On 27.04.2014, at 14:54, Guillermo Polito <[hidden email]> wrote:

If I do a normal load it happens the same. The thing is that GoferMetacelloLoad fetches first some version using the blessing and then using the version number/symbol.


On Sun, Apr 27, 2014 at 2:05 PM, Max Leske <[hidden email]> wrote:

On 27.04.2014, at 13:55, Guillermo Polito <[hidden email]> wrote:

> Hi guys!
>
> I'm having different behaviors when loading metacello configurations using the configuration directly and using gofer:
>
> "This loads well"
> Gofer it smalltalkhubUser: 'DBXTalk' project: 'DBXTalkDriver';
>       package: 'ConfigurationOfOpenDBXDriver';
>       load.
>
> (ConfigurationOfOpenDBXDriver project version: #stable)
>       load: ‘default'

You’re not specifying ‘default’ below. Could that make a difference?

>
> "This tries to load the version 1.2 of the configuration which is not stable and doesn't work on pharo3..."
> Gofer it smalltalkhubUser: 'DBXTalk' project: 'DBXTalkDriver';
>       configurationOf: 'OpenDBXDriver';
>       loadVersion: #stable.
>
> Apparently that's because...
>
> In GoferMetacelloLoad>>metacelloVersion
>
> It tries to fetch the first the latest version for a blessing and just afterwards it tries to get the explicit version...
>
> And yes!
>
> ConfigurationOfOpenDBXDriver project latestVersion: #stable => 1.2
>
> But that is using the blessing... So yes, blessing of version 1.2 is stable.
>
> Shouldn't the #loadVersion: from Gofer behave the same as Metacello?
>
> Anyways, I can change the blessing of my old version I think, that can solve my problem quickly :)
>
> Guille







--

"Every thing has its own flow"
Reply | Threaded
Open this post in threaded view
|

Re: Differences when loading metacello stable configurations

Sean P. DeNigris
Administrator
Tudor Girba-2 wrote
I think the blessing should be deprecated because it is not maintained
reliably (plus it adds yet another level of complexity in Metacello without
a direct significant benefit).
Yes, I don't see what value the blessing provides in light of symbolic versions... I'd like to hear Dale's opinion though...
Cheers,
Sean
Reply | Threaded
Open this post in threaded view
|

Re: Differences when loading metacello stable configurations

Dale Henrichs-3
Blessing is an attribute of a particular version ... multiple versions can have the same blessing, so there is limited utility to blessings ... personally I find the distinction between #release and #development useful for blessings with #release declaring that the version will not be changed anymore and #development declaring that the version may change in significant ways in the future ...

deprecate blessings? I don't think so ... yet ...

 deprecate #stable blessing? I guess I never really understood what they were for ...

I would think that #stable symbolic version is preferred mechanism...

Dale


On Sun, Apr 27, 2014 at 9:45 AM, Sean P. DeNigris <[hidden email]> wrote:
Tudor Girba-2 wrote
> I think the blessing should be deprecated because it is not maintained
> reliably (plus it adds yet another level of complexity in Metacello
> without
> a direct significant benefit).

Yes, I don't see what value the blessing provides in light of symbolic
versions... I'd like to hear Dale's opinion though...



-----
Cheers,
Sean
--
View this message in context: http://forum.world.st/Differences-when-loading-metacello-stable-configurations-tp4756665p4756690.html
Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.