Differences when loading metacello stable configurations
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
On 27.04.2014, at 13:55, Guillermo Polito <guillermopolito@gmail.com> 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
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 <maxleske@gmail.com> wrote:
On 27.04.2014, at 13:55, Guillermo Polito <guillermopolito@gmail.com> 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
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 <guillermopolito@gmail.com> 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 <maxleske@gmail.com> wrote:
On 27.04.2014, at 13:55, Guillermo Polito <guillermopolito@gmail.com> 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
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 <maxleske@gmail.com> 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 <guillermopolito@gmail.com> 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 <maxleske@gmail.com> wrote:
On 27.04.2014, at 13:55, Guillermo Polito <guillermopolito@gmail.com> 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
-- www.tudorgirba.com "Every thing has its own flow"
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-configuratio... Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
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 <sean@clipperadams.com>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-configuratio... Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
participants (5)
-
Dale Henrichs -
Guillermo Polito -
Max Leske -
Sean P. DeNigris -
Tudor Girba