[Seaside-dev] a note on Seaside30Loader

Julian Fitzell jfitzell at gmail.com
Fri Sep 18 07:26:17 UTC 2009


I was thinking about improving WAPackage a bit along similar lines.
I'm getting annoyed at having to maintain the dependencies of the
Pharo- packages. For example, Pharo-Environment has to depend on the
Pharo versions of all the packages that Environment depends on. If one
of those packages doesn't have a Pharo version and you later load it,
you have to go find all the appropriate places and add the new
dependency. :P

I was starting to think about adding a method that marks a package as
an platform extension and making our tools smarter to just know if
you're loading a Pharo packages, you need to load the Pharo versions
of all the other dependencies, if they exist.

Haven't tried to do it yet but thought I'd through it in there since
you're obviously thinking about similar things.

Julian

On Thu, Sep 17, 2009 at 6:37 PM, Dale Henrichs
<dale.henrichs at gemstone.com> wrote:
> Next week I plan to add some new features to Metacello that will make the Seaside30Loader packages specs a little bit cleaner. So I just wanted to give you guys a heads up that I'll be making major changes to the structure of Seaside30Loader over the next week or so.
>
> If you've taken a look at the Seaside30Config, you may have seen a series of lines like the following in the packages spec:
>
>    merge: 'Seaside-Canvas' requires: { 'Seaside-Pharo-Core'. };
>    merge: 'Seaside-Session' requires: { 'Seaside-Pharo-Core'. };
>    merge: 'Seaside-Component' requires: { 'Seaside-Pharo-Core'. };
>    merge: 'Seaside-Tools-Core' requires: { 'Seaside-Pharo-Core'. };
>    merge: 'Seaside-Environment' requires: { 'Seaside-Pharo-Core'. };
>
> They are necessary to get Seaside-Pharo-Core loaded correctly with the current version of Metacello. I've been thinking about alternatives over the last few days and have finally come up with a solution to the  problem that has the side effect of eliminating the need for groups. When I'm done the custom load expression will look more like the following:
>
>    Seaside30Config
>      load: 'development'
>      group: { 'Seaside-Development'. 'Seaside-Tools-OmniBrowser'.
>               'Seaside-Email'. 'Scriptaculous-Core'. }
>      filterTranscript: false
>      runTests: true
>
> Anyway, once I've added the new features to Metacello, I'll be changing Seaside30Loader to use the new features and at that point in time, Seaside30Loader will require version 0.17 of Metacello...
>
> Dale
> _______________________________________________
> seaside-dev mailing list
> seaside-dev at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/mailman/listinfo/seaside-dev
>


More information about the seaside-dev mailing list