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