Alexandre,

load involves loading a project into an image in which the project does not 
exist.
upgrade involves loading a project into an image in which the project already 
is loaded.

Loading is straightforward ... it is what we do all of the time. Add a bunch of 
classes and methods, then run the #initialize methods for the new classes.

Upgrading is interesting because besides adding/removing classes and methods, 
you have to worry about completely unloading packages that are no longer part 
of the project. You also have to worry about the fact that new classes will get 
there #initialize methods, but preexisitng classes will not ... which can lead 
to interesting results. This may lead to pre/post upgrade doits...

Remove is interesting because you have to also consider removing any projects 
that are dependent upon the project being removed. 

Once Metacello 1.0 is released I start working on  adding upgrade and remove to 
Metacello.

Dale
----- "Alexandre Bergel" <[email protected]> wrote:

| Hi Esteban,
| 
| It looks cool. I tried and I was seen apparent problems.
| I think it would be useful to add
|       loadLastVersionOf:
|       loadLastStableVersionOf:
| 
| I am not aware of Metacello details, but where is there a distinction 
| 
| between loading and upgrading?
| You do not have removeProject: or something?
| 
| Cheers,
| Alexandre
| 
| 
| On 17 Mar 2010, at 09:23, Esteban Lorenzano wrote:
| 
| > Hi,
| > I want to announce the immediate release of GoferProjectLoader, a  
| > Gofer extension to manage Metacello configurations.
| > For all who want to know quickly what is this, here is a small  
| > synopsis:
| >
| > GoferProjectLoader is a loader for Metacello configurations (A  
| > metacello configuration is a full project load tool, including  
| > package/project dependencies with it corresponding versions).  
| > GoferProjectLoader automatically scan projects stored on  
| > MetacelloRepository, but you can add your private repositories as  
| > well. GoferProjectLoader responsibilities include:
| >
| > 1) Install project versions and keep track of them.
| > 2) Update configurations and upgrade projects (if desired).
| >
| > GoferProjectLoader relies on Metacello and Gofer to perform this  
| > tasks (In fact, It can be thought as a Gofer extension to understand
|  
| > Metacello packages).
| >
| > To load GoferProjectLoader, you need to do:
| >
| > Gofer it
| >     squeaksource: 'MetacelloRepository';
| >     package: 'ConfigurationOfGoferProjectLoader';
| >     load.
| >
| > ConfigurationOfGoferProjectLoader project lastVersion load.
| >
| > With this... you'll never need again to perform once and again this 
| 
| > repetitive configuration... instead, you can do things like:
| >
| > Gofer project
| >     load: 'Seaside30';
| >     load: 'Pier2'.
| >
| > You can see the full documentation here:
| > http://www.smallworks.com.ar/en/community/GoferProjectLoader
| >
| > Now I'm working on the promised page for configurations (Adrian: I 
| 
| > really sorry for the delay... I know I promised this a lot of time 
| 
| > ago... but time is the tyrant :( )
| >
| > Cheers,
| > Esteban
| >
| >
| >
| > _______________________________________________
| > Pharo-project mailing list
| > [email protected]
| > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
| 
| -- 
| _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
| Alexandre Bergel  http://www.bergel.eu
| ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
| 
| 
| 
| 
| 
| 
| _______________________________________________
| Pharo-project mailing list
| [email protected]
| http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to