[Seaside-dev] more Seaside 3.0 and Metacello

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


I'm also wondering whether it makes sense to split out tests from the base packages:

    #('Platform' 'Core' 'Canvas' 'Session' 'Component' 'RenderLoop' 'Tools'
    'Widgets' 'Environment' 'Functional Tests' 'Continuations' 'Flow' 'WebTools'
    'Development' 'Examples' 'AdminTools' 'RSS' 'Javascript' 'JQuery' 'JQueryUI' 
    'Prototype' 'Scriptaculous' 'HTML5', 'InternetExplorer' 'Email' 'Comanche' 
    'Comet' 'Swazoo')

Many of the tests for things like Seaside-Examples rely on Seaside-Tests-Environment which end up pulling in way more than is required for just Seaside-Examples by itself.

In the Seaside-Examples case, the package itself loads the following (ignoring Tests):
[1] : 'Seaside-Platform'
[2] : 'Seaside-Pharo-Platform'
[3] : 'Seaside-Core'
[7] : 'Seaside-Pharo-Core'
[8] : 'Seaside-Component'
[10] : 'Seaside-Session'
[11] : 'Seaside-RenderLoop'
[12] : 'Seaside-Tools-Core'
[15] : 'Seaside-Canvas'
[16] : 'Seaside-Examples'

but when tests are included, the following packages are loaded:

- size : 22
[1] : 'Seaside-Platform'
[2] : 'Seaside-Pharo-Platform'
[3] : 'Seaside-Core'
[4] : 'Seaside-Tests-Platform'
[5] : 'Seaside-Tests-Pharo-Platform'
[6] : 'Seaside-Tests-Core'
[7] : 'Seaside-Pharo-Core'
[8] : 'Seaside-Component'
[9] : 'Seaside-Tests-Component'
[10] : 'Seaside-Session'
[11] : 'Seaside-RenderLoop'
[12] : 'Seaside-Tools-Core'
[13] : 'Seaside-Tests-Session'
[14] : 'Seaside-Tests-RenderLoop'
[15] : 'Seaside-Canvas'
[16] : 'Seaside-Examples'
[17] : 'Seaside-Widgets'
[18] : 'Seaside-Environment'
[19] : 'Seaside-Tests-Canvas'
[20] : 'Seaside-Pharo-Environment'
[21] : 'Seaside-Tests-Environment'
[22] : 'Seaside-Tests-Examples'

Seaside-Widgets, Seaside-Environment and Seaside-Pharo-Environment get loaded to support Seaside-Tests-Environment which is required by Seaside-Tests-Examples...

As I think about it, the breakdown should be something like a Core variant and a Full variant (includes tests and examples)...

Of course, if the intent is to _always_ load the tests (not a bad idea), then there's no need to make the distinction.

The excess packages baggage could be controlled by a finer grained packaging of Seaside-Tests-Environment (and Seaside-Environment which is the actual source of the 'extra' dependencies).

Dale


More information about the seaside-dev mailing list