[squeak-dev] Packages, Packages, Packages
Colin Putney
cputney at wiresong.ca
Sat Dec 12 17:28:19 UTC 2009
On 2009-12-11, at 9:14 PM, Andreas Raab wrote:
> * Figure out a build process that we can apply to the core image to build the default image automatically
I might be able to help with this one. I've written a build tool (called Mason) that could be used to automatically build a core image into a standard release image. The feature that differentiates Mason from most other build tools is that it doesn't have to be loaded into the image it's creating. Instead, it generates chunk-format scripts and runs them in a base image using OSProcess. I've been using it to build SARs, development images, HTML documentation, etc. I also use it to run SUnit test suites against various base images, and do inter-package dependency testing.
The specification of what to build uses a protocol similar to Seaside's Canvas protocol, to build a tree of targets. Here's a short example:
specifyOn: targets
targets directory
name: 'MasonExample';
with:
[targets file
name: 'README';
content: self readMeContents.
targets image
baseImage: self squeakTrunkImage;
name: 'example';
with: [targets version name: 'Filesystem-cwp.27' repository: self repository]].
This creates a directory called "MasonExample." Inside is a file called README, and an image (with changes) called example.image. That example.image is based on the Squeak Trunk Image and has Filesystem-cwp.27 loaded into it.
I'll tidy things up for release tonight or tomorrow.
Colin
More information about the Squeak-dev
mailing list
|