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