[Seaside-dev] Mason for Seaside 3.0?

Dale Henrichs dale.henrichs at gemstone.com
Fri Sep 11 20:00:23 UTC 2009


----- "Lukas Renggli" <renggli at gmail.com> wrote:

| Hi Dale
| 
| That sounds exciting, can't wait to see this running. If I had time I
| would work on the build-server in the meantime :-/
| 
| > As I work through the Metacello config for Seaside 3.0, I have
| defined the following groups:
| >
| >    #('Platform' 'Core' 'Canvas' 'Session' 'Component' 'RenderLoop' 'Tools'
| >    'Widgets' 'Environment' 'Functional Tests' 'Continuations' 'Flow' 'WebTools'
| >    'Development' 'Examples' 'AdminTools' 'RSS' 'Javascript' 'JQuery' 'Prototype'
| >    'Scriptaculous' 'HTML5', 'InternetExplorer' 'Email' 'Comanche' 'Comet')
| >
| > which correspond to the various test points in the LoadOrderTests package.
| 
| It would make sense to include JQuery and JQueryUI as separate groups,
| their relationship is similar to the relationship between Prototype
| and Scriptaculous.

Okay, I'll do that.

| 
| > With Metacello, it is possible to run a linear set of tests where
| each group is loaded one after the other and after loading each group
| it would be possible to run tests. When I finish up the Metacello
| config, I'll provide a script that performs the same sorts of tests
| that the LoadOrderTest package runs today.
| 
| Yeah, that's definitely useful as it allows one to detect a subset of
| dependencies between code and tests. However we probably need to adapt
| our dependency checkers to directly compare with the declared
| dependencies in WAPackage, the actual dependencies in the code and the
| declaration in Metacello to ensure full integrity.
| 
| > With Metacello, it is also possible to load any one of the groups
| individually and  then run tests, but to do so would require launching
| a fresh image 27 times (not to mention the different combinations) ...
| which is where I assume that Mason comes into play.
| 
| I don't think that would make sense. What Mason can easily do is to
| load and run the tests for every build, so that we can provide the
| test results for every build even if it does not contain the test
| source.

Groups like Canvas, Session, and Component do not technically depend upon each other but because of the load order, any dependencies that the code in Component may have will be hidden by the fact that it is never loaded by itself (without Session and Canvas preceding it in the load order).

| 
| > Anyway, I haven't looked at Mason in detail and was wondering if
| there might be anything required beyond providing the above
| groupings...
| 
| Maybe we should also consider a Swazoo group, that would load Swazoo
| and its Seaside integration. Other than that the granularity of the
| groups look pretty good.

I'll include Swazoo in the configuration.

Dale


More information about the seaside-dev mailing list