Guice provides a grapher (http://code.google.com/p/google-guice/wiki/Grapher) to visualize binding dependencies. However it doesn't capture dependencies introduced via custom injection, such as with the TypeListener approach.
By extending the grapher to capture both types of bindings we can easily visualize Nexus component dependencies; which would be useful for developers to see how it all fits together, and help avoid tightly-coupled components.
This issue was created automatically with bugzilla2github
Bugzilla Bug 386433
Date: 2012-08-01 18:38:29 -0400 From: Stuart McCulloch <mcculls@gmail.com> To: Project Inbox <sisu-inbox@eclipse.org>
See also: https://issues.sonatype.org/browse/SISU-6 Last updated: 2013-07-16 21:17:03 -0400
Comment 2144110
Date: 2012-08-01 18:38:29 -0400 From: Stuart McCulloch <mcculls@gmail.com>
Migrated from https://issues.sonatype.org/browse/SISU-6
Guice provides a grapher (http://code.google.com/p/google-guice/wiki/Grapher) to visualize binding dependencies. However it doesn't capture dependencies introduced via custom injection, such as with the TypeListener approach.
By extending the grapher to capture both types of bindings we can easily visualize Nexus component dependencies; which would be useful for developers to see how it all fits together, and help avoid tightly-coupled components.
The output from the Guice grapher could be fed directly into Eclipse Zest (http://www.eclipse.org/gef/zest/) by using the dot4zest Eclipse feature (http://wiki.eclipse.org/Graphviz_DOT_as_a_DSL_for_Zest).
This low-priority sub-task will look into feeding custom dependencies (like from TypeListener) into the grapher.