On Tue, May 4, 2010 at 6:52 PM, Dale Henrichs <dale.henrichs@gemstone.com>wrote:
----- "Alexandre Bergel" <alexandre@bergel.eu> wrote:
| Apparently the bug remains. When I load the last version of | 'ConfigurationOfPharo project' in a fresh and updated Core 1.1, then | | OB-Standard.lr.442 is loaded and initialized. | | So, the problem persists :-)
Alexandre,
The short answer is that this isn't really a bug. ConfigurationOfAutomaticMethodCategorizer calls for version 1.1 of ConfigurationOfOmniBrowser which references OB-Standard-lr.442. Version 1.1.3 of ConfigurationOfOmniBrowser (which references OB-Standard-lr.463) is listed after
ConfigurationOfAutomaticMethodCategorizer in 1.1-baseline so
OB-Standard-lr.442 is loaded first, then OB-Standard-lr.463 will be loaded later.
Thanks Dale for the dedicated answer. I understood you correclty? If I change baseline11: and I put project: 'AutomaticMethodCategorizer' with: [ spec className: 'ConfigurationOfAutomaticMethodCategorizer'; file: 'ConfigurationOfAutomaticMethodCategorizer'; repository: ' http://www.squeaksource.com/MetacelloRepository' ]; AFTER project: 'OB Dev' with: [ spec className: 'ConfigurationOfOmniBrowser'; loads: #('Dev'); file: 'ConfigurationOfOmniBrowser'; repository: ' http://www.squeaksource.com/MetacelloRepository' ]; then it should work ok ?
This implies that ConfigurationOfAutomaticMethodCategorizer will not load correctly into Pharo 1.1, so the solution is to create a new version ConfigurationOfAutomaticMethodCategorizer that will load into Pharo 1.1 (i.e. referencing version 1.1.3 of ConfigurationOfOmniBrowser) and then update ConfigurationOfPharo accordingly...
yes...the problem is that you have to do that in all the confs that points to OB. .....
The nesting level for '1.1.3 [ConfigurationOfOmniBrowser]' and '1.1 [ConfigurationOfAutomaticMethodCategorizer]' are the same which means that they are both referenced in '1.1 [ConfigurationOfPharo]'. That was enough to solve this particular problem, but in an Inspector, you can dive into the directives themselves and actually get to the MetacelloSpec that was used to create the directive...
Here is what I don't understand. If you have that directive, and you have ALL that information, can't you guess that if you need to load the N version of a package and then the version M, where M > N, then you can skip to load N and just load M directly ? In this example, can you DO NOT load OmniBrowser-lr.458 as you know that after you will load OmniBrowser-lr.469 ? Or maybe directly about conf: Do not load 1.1 [ConfigurationOfOmniBrowser] if you know that then you will need to load 1.1.3 [ConfigurationOfOmniBrowser] Thanks a lot for the explanation dale! mariano