Hi Keith,
It's is not "just a package manager" it is huge and totally over engineered for the purpose you have in mind.
I dont care if you think it is over engineered in it's internal core. The specs are easy to write and I can maintain/load them with Monticello. I can continue to use both: Squeak and Pharo for projects. And I can load my projects code and throw Metacello's overengineered code out of the image easily afterwards. It's just a vehicle.
Since the spec is parsable I can switch if someone provides something better in the future. Currently it is available, maintained and working.
Is Bob/Sake project meanwhile with public access? Are you back in Bob/Sake business?
VMMaker is at a far lower level than Seaside or other things Metacello is being used for.
Yes, like FFI, ExternalWebBrowsers, SQLite3 or others which are available via configurations. You may say it is overkill for such small projects - but you can construct more complex configs (like Seaside) from that.
... You can put scripts into InstallerScripts to be loaded using ...
I know all this - but
a) I want something that works on Squeak, Pharo, Gemstone, maybe other ST's later (since I use Seaside) b) I want to maintain versions in one file (here in one class) not in separate scripts for each version. I can use Monticello diffs to see how the config has changed, ... c) I want a declarative description instead of code since I may use it for other purposes too (deployment and dependency tools, ...)
I could comment on the rest of your post, I basically disagree with pretty much everything you say.
No problem for me ... you dont have to use it. It doesnt change anything on VMMaker or prevents you from using other loaders/installers.
Can Metacello publish and use definitions on a web page or wiki, can it load from squeakmap, or universes, can it access published bug fixes, can you override with your own local definitions, can it bootstrap from the source.st code inside a monticello package.
Again: Metacello does not care about SqueakMap, Universe, Mantis since it is not bound to Squeak. You compare apples with oranges.
Lets play a short game:
You will find ConfigurationOfMetaSource in the MetaSource project on SqS, that is able to load a whole seaside app right from a core image and keep it maintained with new versions.
Show me that Installer/Sake/Bob is doing better here and is aligned with the goals in a) b) and c)
Bye T.
Is Bob/Sake project meanwhile with public access? Are you back in Bob/Sake business?
Sake has always been public access.
VMMaker is at a far lower level than Seaside or other things Metacello is being used for.
Yes, like FFI, ExternalWebBrowsers, SQLite3 or others which are available via configurations. You may say it is overkill for such small projects - but you can construct more complex configs (like Seaside) from that.
... You can put scripts into InstallerScripts to be loaded using ...
I know all this - but
a) I want something that works on Squeak, Pharo, Gemstone, maybe other ST's later (since I use Seaside)
Well I cant help you there. But it would not be rocket science to port Installer, or sake because they were designed to be minimal. They were designed to be portable to other platforms as an enabling technology.
Metacello only does one thing, whereas Sake is as general as make in theory.
b) I want to maintain versions in one file (here in one class) not in separate scripts for each version. I can use Monticello diffs to see how the config has changed, ...
This is a design flaw of Metacello, when you have mechanisms like inheritance, maintaining one definition for all contexts doesn't work. I have tried it.
c) I want a declarative description instead of code since I may use it for other purposes too (deployment and dependency tools, ...)
I could comment on the rest of your post, I basically disagree with pretty much everything you say.
No problem for me ... you dont have to use it. It doesnt change anything on VMMaker or prevents you from using other loaders/installers.
Can Metacello publish and use definitions on a web page or wiki, can it load from squeakmap, or universes, can it access published bug fixes, can you override with your own local definitions, can it bootstrap from the source.st code inside a monticello package.
Again: Metacello does not care about SqueakMap, Universe, Mantis since it is not bound to Squeak. You compare apples with oranges.
Lets play a short game:
You will find ConfigurationOfMetaSource in the MetaSource project on SqS, that is able to load a whole seaside app right from a core image and keep it maintained with new versions.
Sake/Packages does all that.
(Package named: 'Seaside') latest load.
Show me that Installer/Sake/Bob is doing better here and is aligned with the goals in a) b) and c)
Sake uses fully declarative desriptions.
Keith
Lets play a short game:
You will find ConfigurationOfMetaSource in the MetaSource project on SqS, that is able to load a whole seaside app right from a core image and keep it maintained with new versions.
A core image or ANY core image?
LPF has an api for loading things into ANY image.
#> squeak Squeak3.10.image http://ftp.squeak.org/3.11/scripts/LPF.st Installer install="Packages"
Keith
vm-dev@lists.squeakfoundation.org