Hi,
in a Configuration i have this baseline: baseline10: spec <version: '1.0-baseline'> spec for: #'common' do: [ spec blessing: #'baseline'. spec project: 'Nile' with: [ spec className: 'ConfigurationOfNile'; versionString: #bleedingEdge; loads: #('Core Tests' ); repository: 'http://www.squeaksource.com/MetacelloRepository' ]. spec repository: '/home/user/PharoFiles/package-cache'. spec package: 'Pattern' with: [spec requires: 'Nile']; package: 'Pattern-Tests' with: [spec requires: 'Pattern'.] ]. in the method version10 i have this: spec package: 'Pattern' with: 'Pattern-WernerKassens.14'; now i remove the package 'Pattern' and do a load with the configuration. no complaints by the configuration. but there is no package 'Pattern' visible in the browser. i open the monticello browser and there is a dirty package 'Pattern'. i open a browser on this package via the monticello browser and 'Pattern' is completely empty. but in the monticello browser the package shows the repository /home/user/PharoFiles/package-cache exactly as written in the baseline. i open that repository and of course can load 'Pattern' as expected . where did i go wrong? werner |
Depending on how you load your configuration you might need a line in the baseline that says:
spec group: 'Core' with:#('Pattern'). Then try (ConfigurationOfPattern project) latestVersion load or if you've defined #stable: ConfigurationOfPattern load Also in your version10 method do you define what version of Nile you want to load? |
i tried spec group: 'Core' with:#('Pattern') with
(ConfigurationOfPattern project) latestVersion load and with load:'Core' with the same result. i did not define a version for Nile in version10, but that should not make a difference for my problem, as there is a definition in the baseline, right? werner |
In reply to this post by wernerk
On Wed, Jul 6, 2011 at 3:57 PM, Werner Kassens <[hidden email]> wrote: Hi, Hi. You scenario looks a little tricky. Why did you use package-cache as the repository? is that what you really want? I would try to use another local Monticello repository (directory) and it will probably work as you expect. now i remove the package 'Pattern' and do a load with the configuration. no complaints by the configuration. but there is no package 'Pattern' visible in the browser. this is becasue (I guess) when you remove the package Pattern from the image, it is still present in package-cache, which is (by chance) the repository that you specified, hence, it is found ;) i open the monticello browser and there is a dirty package 'Pattern'. i open a browser on this package via the monticello browser and 'Pattern' is completely empty. but in the monticello browser the package shows the repository /home/user/PharoFiles/package-cache exactly as written in the baseline. i open that repository and of course can load 'Pattern' as expected . not sure. I cc'ed Metacello mailing list. Cheers -- Mariano http://marianopeck.wordpress.com |
Hi Mariano,
thanks, you found the problem. Remove category in the browser does not really remove the package; if i open monticello an empty package is still there. if i remove it in monticello the configuration works as advertised <g>. werner |
In reply to this post by wernerk
Werner,
I was away on vacation last week and didn't see your question .... If I were to guess, I would say that when you "removed package Pattern" it was not actually removed from the system (perhaps you just removed the class instead of unloading the package?) The package still existing is very suspicious... Metacello will not usually load on top of a dirty package, so when you tried again, the package Pattern was not reloaded ... Metacello will dump information about skipping dirty packages into the Transcript .... Dale ----- Original Message ----- | From: "Werner Kassens" <[hidden email]> | To: "A friendly place where any question about pharo is welcome" <[hidden email]> | Sent: Wednesday, July 6, 2011 6:57:06 AM | Subject: [Pharo-users] metacello question | | Hi, | in a Configuration i have this baseline: | baseline10: spec | <version: '1.0-baseline'> | spec for: #'common' do: [ | spec blessing: #'baseline'. | spec | project: 'Nile' with: [ | | spec | className: | 'ConfigurationOfNile'; | versionString: | #bleedingEdge; | loads: #('Core Tests' ); | repository: | 'http://www.squeaksource.com/MetacelloRepository' ]. | spec repository: '/home/user/PharoFiles/package-cache'. | spec | package: 'Pattern' with: [spec requires: 'Nile']; | package: 'Pattern-Tests' with: [spec requires: 'Pattern'.] ]. | | in the method version10 i have this: | spec package: 'Pattern' with: 'Pattern-WernerKassens.14'; | | now i remove the package 'Pattern' and do a load with the | configuration. | no complaints by the configuration. but there is no package | 'Pattern' | visible in the browser. i open the monticello browser and there is a | dirty package 'Pattern'. i open a browser on this package via the | monticello browser and 'Pattern' is completely empty. but in the | monticello browser the package shows the repository | /home/user/PharoFiles/package-cache exactly as written in the | baseline. | i open that repository and of course can load 'Pattern' as expected . | where did i go wrong? | werner | | |
Dale Henrichs a écrit :
> If I were to guess, I would say that when you "removed package Pattern" it was not actually removed from the system ... Hi Dale, yes that was the problem, i used 'Remove category' in the browser. after removing the package in monticello, everything worked. thanks werner |
Free forum by Nabble | Edit this page |