Hi, you can also have a look at http://www.pharocasts.com/search/label/metacello Laurent Laffont - @lolgzs <http://twitter.com/#!/lolgzs> Pharo Smalltalk Screencasts: http://www.pharocasts.com/ Blog: http://magaloma.blogspot.com/ On Tue, Feb 15, 2011 at 4:23 PM, Stéphane Ducasse <stephane.ducasse@inria.fr
wrote:
Hi andrew
Do not use dependencies. They do not work well. Use Metacello. Here is a draft I should finish on metacello.
On Feb 15, 2011, at 12:04 PM, Andrew Black wrote:
I probably don't understand how to use Monticello dependencies correctly. Here is the situation. Your help appreciated.
I'm writing code that uses PetitParser. So, I added to my own package a dependency on PetitParser.
Strangely, rather than linking to the PetitParser repository, this copies PetitParser into my repository when save a new version on my package.
The problem is that I have found it necessary to change a few definitions in *PetitParser. (I would call these bug fixes, but that is a matter of opinion.) I didn't think that would be a problem; I put the overriding definitions into my package, and everything worked fine.
That is, it worked fine until I started with a clean image and loaded my package. Monticello apparently loaded my package, and then loaded PetitParser. This over-wrote my (bug-fix) definitions with the original ones. Most of my tests failed.
If I load my package a second time, them my definitions overwrite the ones from PetitParser, and all is well.
I infer that Monticello packages are supposed to be load-order-independent. So, what is the right way to fix this problem (other than convincing Lukas that trimSpaces should, indeed, trimSpaces)?
Andrew