A snappier Snapshotcello

I recently announced a little Pharo utility called Snapshotcello. While the announced version already solves a significant problem, I noticed while preparing the soon to be announced Moose 4.8 release, that there were still a couple of steps that required more automation. Namely, I wanted to be able to mark the new version as stable, commit the configuration, and ideally, to publish it to the official Pharo repository.

The newest version makes all these possible. Here is how I published the latest version of Snapshotcello itself:

Snapshotcello new
configurationClass: ConfigurationOfSnapshotcello;
sourceVersion: #development;
targetVersion: '1.4-snapshot';
snapshot;
makeStableFor: #'pharo2.x';
commit;
pushToPharo20Repository

First, you might noticed that the older API is slightly changed (publishVersion: is now replaced by an initial setter of the targetVersion: and a separate snapshot command). Besides that, here are the new commands:

  • makeStableFor: makes the #stable symbolic version point to the newly committed version for the given platform. In our case, I made it stable for pharo2.x.
  • commit commits the package of the configuration to the first non-local-cache Monticello repository associated with the package. Typically, this is the repository of the project, so in the case. In our example, the repository is the repository of Snapshotcello.
  • pushToPharo20Repository pushes the committed version to the official Pharo 2.0 repository.

The last command is particularly interesting because once you add this little command, you expose your package in every Pharo image. For example, in the picture below you can see Snapshotcello in the Pharo 2.0 configuration browser.

ConfigurationBrowser.png

Releasing a Pharo project has never been easier. Just give it a try for your beloved project. It takes only a couple of minutes.

Posted by Tudor Girba at 30 July 2013, 10:55 pm with tags pharo link