[Re-send because of message size] Dear all,
Am 10.02.2013 um 00:51 schrieb Frank Shearar frank.shearar@gmail.com:
In the interests of revisiting Pavel Krivanek's work, and a long term goal of this community, I thought I'd use the Dependency Browser and dig out interpackage dependencies.
By scraping the DependencyBrowser's contents together with a bit of UI scripting I've constructed a dotfile of Trunk (attached). Turning this into a PNG results in an 11MB image! [1] Nodes near the top are nodes that aren't used by many things.
So I played around with the data a bit.
I ran the dot file through tred (part of graphviz), to eliminate dependencies that are already satisfied through transitive relations. (deps-simplified) It turns out we have many cycles, and tred complaints about: cycle involves edge Files -> System
I then used cluster (also part of graphviz) to identify clusters in the dependency graph (found three around Kernel, Collections, and Tests) (deps-simplified-reclustered) and manually added a "morphic" and a "HelpSystem" cluster (deps-simplified-reclustered-manucluster)
Note the big circle from System over ST80 to Morphic and from there via Ballon/Collections back to System, or via Monticello/Kernel/Collection back to System. Apart from that, note a direct circl (MonticelloMocks<->Tests) but also a small indirect circles (System->Environments->Compiler->System).
If we aim for modularity, we should invest time to investigate those circles.
Best -Tobias [Find the formerly attached zip at http://netshed.de/trunk-deps.zip ]