"Module Dependency Graph" plugin


I've just uploaded the plugin for exporting project module dependencies
into machine readable graph format (graphml). To visualize your
dependencies install the plugin, open your project and invoke File |
Generate Modules Graph. The .graphml file will be saved in the same
folder your project file is in.

The result can be nicely viewed by yEd graph editor

See the following posts with actual graphs of some JetBrains projects!

Comment actions Permalink

This reminds me of a nice tool I once used from compuware (if I remember well): it was called PASTA (package structure analysis), and was pretty helpful in order to graphically show the level of dependencies that there were between packages. It used to show red boxes for packages with too much interdependencies, yellow for "medium - high" level and green for packages with "reasonable" interdependencies.

Comment actions Permalink

I can code up the analyses of PASTA in about an hour (MetricsReloaded already has most of them). The visualizations are the tricky part, particularly with navigation and zoom-in-zoom-out and fancy layouts. I'm assuming that JetBrains will have amazing visualizations sometime within the next five years, just based on the trajectory of the industry. Until then, this plugin looks strong (modules are better than packages as dependency units anyway).

Comment actions Permalink

Dave Griffith wrote:

>.. modules are better than packages as dependency units anyway).


It depends on the project size, and the coding style.

If the package-level cycle analysis of MR were customizable, it would be
way more useful to me. I miss the ability to stop, in SOME places, the
analysis one level before the end (= don't see the leaves as individual
Without that option, "ShowPackageCycles" sometimes shows me a useless
web, with all my little leaves packages interconnected, in group. Its
nice to look at, though, and reminds of the SpiroGraph I received when I
was 8:
It depends a lot on your coding style.

I also miss the ability to see what code correspond to an arrow.



Please sign in to leave a comment.