Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0

...

  • Identifying dependency exclusions.
    Is it excluded, and where did exclusion originate.
  • Identifying dependency version decisions.
    If maven picks another version, which one, and why?
  • Identifying dependency owner.
    If dependency is present in project, how did it get there?
    By current project, by transitive dependency, or by parent pom concepts?
  • Identifying transitive dependency complexity.
    Multi module project is getting out of hand, what dependencies can i collapse safely into one dep?
  • Identify relocated dependencies.
    If a dependency was relocated, identify it.
  • Identify missing or bad dependencies.
    If dependency is not found, flag it.

How should we show the graph?We should allow the user to specify how the graph should be shown.

  • With nodes representing a unique groupId:artifactId and the edges representing the scope/version ?
  • With nodes representing a fully unique groupId:artifactId:version and the edges representing the scope?

...

  • Just the active dependencies?
  • The excluded dependencies, but flagged to indicate that they are excluded.
  • Optional dependencies.
  • All scopes? (indicate scope somehow. by color?)
  • Plugins too.
  • Build Extensions.
  • Reports.

Current work

Eclipse plugins

Teh Eclipse plugin Q4E includes dependency graph and dependency analysis views.

Google SoC 2007

Piotr Tabor and Peter Kolbus will create this summer (as a Google Summer of Code participants - with Jason van Zyl and Carlos Sanchez as mentors respectively) a software system that will allow, during the build process of a project, to automatically generate diagrams of chosen aspects of the project.
http://docs.codehaus.org/display/MAVENUSER/Maven+Diagram+Maker

Grafo

Carlos has put together a initial version done with http://prefuse.sourceforge.net/

...

It's under the maven sandbox at https://svn.apache.org/repos/asf/maven/sandbox/grafoImage Removed

Other Resources

...

plexus-graph-visualization

Jason van Zyl is planning on overhauling the entire gathering and resolution of artifacts using the plexus-graph library.  A visualization suite has already been created for it.

Other Resources

From Joakim: 

  • http://www.graphviz.org/ - Graphviz support exists in the plexus-graph-visualization
  • plexus-graph-visualization - has providers for prefuse, graphviz, and touchgraph.
  • Grouping / Clustering support is important for large projects.
  • Transitive Reduction views of large complex trees are important to get rid of the noise.

Graphviz ( ) is an excellent package for creating graphs and graph images, but it is a native application. If this route is chosen, how do we handle graphviz? As a dependency, or as a configuration parameter to the pre-installed binary?

From Carlos:

...