[ANN] v2 Package loading/unloading - fully functional

Avi Bryant avi.bryant at gmail.com
Mon Feb 28 16:40:53 UTC 2005


On Mon, 21 Feb 2005 10:43:42 +0100, Michal <michal-list at auf.net> wrote:

> I expect that the package format will change next week to make it a simple mcz file which nows how to store the preambles/postscripts and how to use them on load/unload. But that's an implementation detail, in fact it needs to change only one method in this changset (#createPackageForVersion:).

Ok,

I've put a couple of new package versions on SqueakSource:

http://squeaksource.com/PackageInfo/PackageInfo-Base-avi.19.mcz

includes your extensions that add #preamble, #postscript, etc to
PackageInfo.  It's a requirement for

http://squeaksource.com/Monticello/Monticello-avi.227.mcz

which adds new definition types to Monticello for each of those
scripts.  It also keeps your Scripts button on the WorkingCopyBrowser
for editing them.

What this means is that, after loading those two package versions, you can:

- edit preambles, postscripts, etc for a package
- any .mcz you save for that package will include them, and they'll be
reinstated when you load
- each of the four scripts is considered an atomic unit in a merge (if
two people change the preamble at once, that's a conflict, etc)
- when loading or updating a Monticello package, any new or modified
preamble or postscript scripts will get run; when unloading, any
existing removal scripts will get run

However:

 - these new elements only exist in the binary version of the package,
not in the .st file, so MCInstaller won't see them.  This could be
fixed by coming up with a DoIt format for them, which shouldn't be too
hard.  Or we could just require that full Monticello be installed to
load packages with preambles.
- it may be annoying to have a modified preamble/postscript get
evaluated when updating a package during development; what behavior do
we really want here?
- The scripts show up oddly in Monticello's Browse view (though
they're ok in the Changes view)
- I haven't tested this much, so there are probably bugs

Please test this stuff out and let me know whether to make it part of
the published release...

Avi



More information about the Squeak-dev mailing list