Metacello - as a package management framework

0 views
Skip to first unread message

Dale Henrichs

unread,
May 26, 2009, 7:59:40 PM5/26/09
to montice...@googlegroups.com
To me there is an inside and and outside to Metacello.

The outside is the versionMap-based DSL based around three basic version-based operations:

load
unload
update

The inside is the API for defining the guts of a version. In defining the contents of a versionMap, we end up using code artifacts like Monticello packages and repositories. It can't be avoided.

When MC2 comes on the scene, not only will the names of the artifacts changes (slices instead of packages), but the way that they are specified will likely be changed as well. With that said, there will still be versions that are loaded/unloaded/updated. The internals are an implementation detail.

To create a versionMap reasoning using MC2 instead of Monticello, there will be a MetacelloMC2VersionMap class in which MetacelloSlicesSpec and MetacelloSliceSpec are used instead of MetacelloPackagesSpec and MetacelloPackageSpec ... the loads will be done with a MetacelloMC2SpecLoader instead of MetacelloMCSpecLoader...and so on.

I also anticipate that over time different schemes for defining package relationships and package loading will appear (Lukas and Jorge Ressia are working in Flair for example). Of course the current Metacello*Spec classes will undoubtedly change over time...

I would like to think that the Metacello framework can be used as the underlying package management schemes evolve - the main benefit of course being that noone wants to have to convert the body of legacy package management to a new system, if Metacello can work for MC1 and MC2 I would think that it can work for different underlying package management schemes ... even those that might involve (gasp) new file formats, new repositories, and tools:)

I will be pushing forward with MetacelloSpecs, mainly because I want to have a functional package management system within the next month or so. The implication is that I will be freezing input in a week or two, so that I can move forward with an implementation, but I have no intention of freezing the evolution of Metacello.

Dale

Bergel, Alexandre

unread,
May 27, 2009, 10:03:58 AM5/27/09
to montice...@googlegroups.com
Yes Dale, go go

Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.





Reply all
Reply to author
Forward
0 new messages