[squeak-dev] Why a package management system (Was: Re: Help system now for Squeak and Pharo)

Igor Stasenko siguctua at gmail.com
Mon Feb 22 01:32:59 UTC 2010


On 22 February 2010 02:02, Torsten Bergmann <astares at gmx.de> wrote:
> Andreas Raab wrote:
>> BTW, for people who'd like to install HelpSystem with Installer instead
>> of Metacello, use this:
>>
>
> NOOOO!!!!!
>
> As Yanni already answered to you: the Metacello code would load version '1.0' of the help system -
> so it loads a A CLEARLY DEFINED MILESTONE with packages that are intended to
> work together and which is also intended by the author for others to use.
>
> If I later define a '1.1' or '1.2' milestone any user could decide if he is
> ready to adapt his own code (if it is based on my project) to my new
> releases or if he (for whatever reasons) continues with one of my old releases, like 1.0.
>
> Your Installer code would ALWAYS load the latest of each monticello
> package in the repo. So depending on the time you run it (and the state
> of the repo) you get DIFFERENT results and may break code. Thats horrible!
>

You maybe missed one thing: Installer can load a specific version of
package(s).
It is an 'extra' feature which picks the latest version, but you may
not use it, if you don't want it.


> By using Metacello a projects author can make specific versions/package configurations available to others and afterwards commit new code to the repo without affection others.
>
>> This installs in a fraction of the time and space.
>
> Hey, installer is just a loader. Metacello is a package management
> system!!! Ever worked with Envy or Maven in Java, ...?
>
> Without Metacello (or a comparable package management system) we
> will NEVER SCALE projects or allow that they develop independent
> from each other without breaking each other! Especially when
> they are managed outside of the image - and I think that's our goal:
> a small kernel image and external projects/packages that could be
> loaded (and that fit together to work and could be based on another).
>
> Metacello does the minimal thing to manage that and even if it
> may require more work (especially on tools) it does a fairly good job
> already. You just have to learn about it and about modularity.
>
>
> Think of the following scenario:
[snip]

Strange thing but with Installer i could implement same scenario(s).
So, in same way, one could implement

MyConfig>>installV10
MyConfig>>installV11
etc
and inside of these methods, put a code which loads specific versions
of packages.

So, please tell me again, why i should use Metacello for this?

>
> Sorry for the long post - but I hope I was able to wet your appetite towards modular Smalltalk.
>
> Bye
> T.
>
> [1] https://docs.sonatype.org/download/attachments/1999021/pom-dependency-graph.png?version=1&modificationDate=1212678465631
>
> --
> NEU: Mit GMX DSL über 1000,- ¿ sparen!
> http://portal.gmx.net/de/go/dsl02
>
>



-- 
Best regards,
Igor Stasenko AKA sig.



More information about the Squeak-dev mailing list