Awesome
Metacello
INSTALL Preview Version
GemStone
GsUpgrader works on all versions of GemStone against all Versions of GLASS:
Gofer new
package: 'GsUpgrader-Core';
url: 'http://ss3.gemtalksystems.com/ss/gsUpgrader';
load.
(Smalltalk at: #GsUpgrader) upgradeMetacello.
Pharo6.1, Pharo7.0
Iceberg enableMetacelloIntegration: false.
Metacello new
baseline: 'Metacello';
repository: 'github://metacello/metacello:pharo-6.1_dev/repository';
onConflict: [ :ex | ex allow ];
load.
Pharo3.0, Pharo4.0, and Pharo5.0
Metacello Preview is pre-installed in Pharo3.0 the following installs the latest released version:
Metacello new
baseline: 'Metacello';
repository: 'github://Metacello/metacello:master/repository';
get.
Metacello new
baseline: 'Metacello';
repository: 'github://Metacello/metacello:master/repository';
onConflict: [:ex | ex allow];
load
Pharo (older than Pharo3.0)
"Get the Metacello configuration"
Gofer new
gemsource: 'metacello';
package: 'ConfigurationOfMetacello';
load.
"Bootstrap Metacello Preview, using mcz files (#'previewBootstrap' symbolic version"
((Smalltalk at: #ConfigurationOfMetacello) project
version: #'previewBootstrap') load.
"Load the Preview version of Metacello from GitHub"
(Smalltalk at: #Metacello) new
configuration: 'MetacelloPreview';
version: #stable;
repository: 'github://Metacello/metacello:configuration';
load.
"Now load latest version of Metacello"
Metacello new
baseline: 'Metacello';
repository: 'github://Metacello/metacello:master/repository';
get.
Metacello new
baseline: 'Metacello';
repository: 'github://Metacello/metacello:master/repository';
onConflict: [:ex | ex allow];
load
Squeak5.2 (and newer)
Installer ensureRecentMetacello.
Squeak (older than Squeak5.2)
"Get the Metacello configuration (for Squeak users)"
Installer gemsource
project: 'metacello';
addPackage: 'ConfigurationOfMetacello';
install.
"Bootstrap Metacello Preview, using mcz files (#'previewBootstrap' symbolic version"
((Smalltalk at: #ConfigurationOfMetacello) project
version: #'previewBootstrap') load.
"Load the Preview version of Metacello from GitHub"
(Smalltalk at: #Metacello) new
configuration: 'MetacelloPreview';
version: #stable;
repository: 'github://Metacello/metacello:configuration';
load.
"Now load latest version of Metacello"
(Smalltalk at: #Metacello) new
baseline: 'Metacello';
repository: 'github://Metacello/metacello:master/repository';
get.
(Smalltalk at: #Metacello) new
baseline: 'Metacello';
repository: 'github://Metacello/metacello:master/repository';
load.
See the .travis.yml file for list of supported platforms and versions.
If you are interested in using GitHub with the Metacello Preview, you should read The excellent chapter on Metacello in Deep Into Pharo, then check out Getting Started with GitHub, the Metacello User Guide, the Metacello Scripting API, Issue #136 detail, and Metacello API Reference.
Some things to ponder
Dear package managers: dependency resolution results should be in version control (twitter comment thread).
Interesting problem - non-reproducable builds when using non-exact dependent project versions. Wanders into the territory that Metacello locks for local git clones addresses ... but being able to communicate to others in some fashion is an interesting idea.
Contribution
See docs/Contribute.md.