You should show me sake. Because this is still really fuzzy for me.
Stef On Nov 10, 2008, at 10:59 PM, Damien Pollet wrote:
Hi, I'm looking at Sake and Packages, and I'm wondering if it would make sense to use them in a slightly different manner. Currently, the Sake-Package classes duplicate the various existing universes (most of them are generated from the universe descriptions), so for end-developers it's basically the same, except there is no nice OB-based UI for it. There is a difference though: sake package descriptions are saved in Monticello. What I'm thinking is, it would be nice to have a kind of deployment scripts for some projects, that is written and maintained by the project authors and not an external guy. For instance, Doru wrote PRDistribution to generate the Pier kernel in the one-click image, which is pre-filled with a set of pages, access rights, etc. The problem is, PRDistribution relies on all the code already being present, and will fail if you forgot to install Pier-Blog, for instance. So it would be nice if it was able to install the required packages form Magritte, Pier, and Pier-Addons. Then it would act as a clear entry point for users of the code, and a nice place for developers to put stuff that currently goes into class initialization methods (like the Licence-popping in magritte and pier, or the login/password stuff). The pattern could look like this: - application developers… package their application code in Foo-Subfoo packages package their tests in Foo-Tests packages package deployment stuff it Foo-Setup: dependancies between individual Foo-specific packages + dependancies to high-level external dependancies + deployment scripts like PRDistribution (maybe) copy snapshots of Foo-Setup to a common repository - code users… know that Foo-Setup will help them get a working installation of Foo when they browse Squeaksource install Foo-Setup package using Installer, then call one of the sake tasks it defines (there can be several of them since they are quite high-level) - distribution maintainers (e.g. the other Damien)… pull carefully chosen versions of Foo-Setup into their repository, and maybe maintain a distribution-specific -Setup package. What do you think? ps. remarks on Sake-Packages… IMHO the root class should be packaged separately from its subclasses, since the former provides the code and the latter define the metadata for particular distributions. Also since the rules are somewhat like unit test methods, they could be named taskFoo instead of just Foo. That would differenciate sake rules from utility smalltalk methods. -- Damien Pollet type less, do more [ | ] http://people.untyped.org/damien.pollet
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project