[Zope-dev] extracting things out of zope.app.component

Martijn Faassen faassen at startifact.com
Tue Jan 27 14:51:08 EST 2009


Hey,

Hanno Schlichting wrote:
> Martijn Faassen wrote:
>> We're working (at a small Grok sprint) on refactoring bits of Zope to 
>> reduce the insane dependency relations that exist between some packages. 
>> The goal is a nice layered dependency structure for Zope 3 packages.
> 
> This is awesome news :)
> 
> I maintain dependency graphs for all zope packages included in Zope2
> trunk at http://hannosch.eu/dependencies/zope/. Those should be correct
> covering the state from yesterday before your release-marathon. But I
> think the depdendencies didn't change for any of the packages I cover.

Yeah, zope.site isn't completed yet, as currently zope.app.component 
relies on zope.site and vice versa. The vice versa needs to go away and 
that can be done by extracting more from zope.app.component (the 
implemnentation of various ZCML directives) into another package.

[snip explanation]

Thanks for the explanation. We are using tl.eggdeps and dot as well 
already, though.

> In order to make the graphs more readable you can remove the transitive
> dependency edges from the graph:
> 
> tred zope.foo-full.dot > zope.foo.dot

This also takes some information about dependencies we'd like to remove 
from the graph, so instead we've created the full messy graph but 
removing nodes that are already have no dependencies, or have clear 
layering (such as zope.interface, zope.component). The remaining graph 
then gives us clues about what we should focus on.

Regards,

Martijn



More information about the Zope-Dev mailing list