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.

If you want to generate those yourself, to get an easy graphical way of
understanding the mess, then the following steps should get you there:

easy_install tl.eggdeps

Thanks Thomas! This parses the requires.txt in the egg_info folders. So
make sure they are updated after you edit any setup.py files. Run:

eggdeps -x -d zope.foo -i setuptools > zope.foo-full.dot

[-x ignores extras, -d specifies a dot file as output, -i ignores
setuptools]

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

And finally produce a nice visual graph:

dot -Tjpeg zope.foo.dot > zope.foo.jpeg

[-Tsvg or -Tpng should work as well]

tred and dot are part of graphviz. If you happen to run Mac OS and use
MacPorts you need to install graphviz-devel instead of the graphviz port
for tred to work. In the latest stable graphviz port tred is broken.

Hanno

_______________________________________________
Zope-Dev maillist  -  Zope-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope )

Reply via email to