On 01/04/2018 01:14, Andrei Stebakov wrote:
> I wonder if there is a generic solution to keeping certain Pharo project
> in sync with development tree.
> For example when I want to get latest Roassal I execute
> Gofer it
> smalltalkhubUser: 'ObjectProfile' project: 'Roassal2';
> package: 'Roassal2';
> package: 'Roassal2GT';
> package: 'Trachel';
> load.
> 
> Also I wouldn't know this unless the maintainers (thanks Alexandre!) of
> the project told me what script to execute to get the latest version.
> If I went to Project Catalog I can only get the stable version and if I
> go and find Roassal2 it won't give me information how to get its latest
> version.
> 
> How would I get info about how to update, say Roassal given the script
> above from some Roassal project public page?
> Talking about Roassal, if I go
> to http://smalltalkhub.com/#!/~ObjectProfile/Roassal2/ page, it offers
> the following script:
> Gofer it smalltalkhubUser: 'ObjectProfile' project: 'Roassal2';
> configurationOf: 'Roassal2'; loadDevelopment
> 
> Which is probably not exactly equal to the script above (or is it?).
> 
> So, is there a generic way to get a latest version of some XYZ package?
> What do I need to learn to be able to get that information about any
> Pharo project (other than asking the community)? Something similar to
> "git pull" when you know the repository.

Hello!

Gofer is the old buggy way to load a project. The current way is to use
Metacello.

Here is the script:

Metacello new
        smalltalkhubUser: 'ObjectProfile' project: 'Roassal2';
        configuration: 'Roassal2';
        version: version;
        load

Note that "version" can be:
- #stable : It will take the current stable release for your pharo version
- #development : It will load the latest version of the packages
declared in the current development version (generally the latest
baseline) for your pharo version
- #bleedingEdge : A symbolic version that specifies the latest mcz files
and project  versions
- A specific version or baseline name
- A release name

In your case you probably want the bleedingEdge version. But be aware:
since it's a bleeding edge version there is no guarantee it will load
and work.


Metacello new
        smalltalkhubUser: 'ObjectProfile' project: 'Roassal2';
        configuration: 'Roassal2';
        version: #bleedingEdge;
        load

For more informations about Metacello you car read this chapter of Deep
Into Pharo:
http://pharobooks.gforge.inria.fr/PharoByExampleTwo-Eng/latest/Metacello.pdf

-- 
Cyril Ferlicot
https://ferlicot.fr

Reply via email to