Plugin Documentation

Goals available for this plugin:

GoalReport?Description
graph:dependenciesNo

This mojo produces customizable graphs of Maven dependency trees.

By default, the complete dependency tree (including transitive dependencies) is graphed. Graphs can be filtered with include/exclude criteria for artifacts and with show/hide criteria for Maven scope and optional settings.

Two layout styles are supported - LINKED and FLAT.

In LINKED mode, the relationships between shared dependencies are shown. Each dependency included in the build is displayed on the graph only once. The connections between dependencies are presented by Graphviz algorithms as a directed hierarchical graph.

For a transitive dependency, LINKED mode illustrates why Maven includes it in the build.

For a shared dependency (eg commons-logging), LINKED mode shows what other libraries depend on it. LINKED mode also shows the decisions Maven makes when resolving conflicts between pom's that depend on different versions of the same artifact.

In FLAT mode, dependencies are displayed exactly how they are defined in the pom's. This style can make it easier to comprehend the dependency tree but relationships between shared dependencies are not drawn.

graph:multiNo

Convenience mojo for generating multiple graphs.

graph:reportYes

Generate a set of common dependency graphs and a report linking to them during Maven site generation.

System Requirements

The following specifies the minimum requirements to run this Maven plugin:

Maven2.0
JDK1.6
MemoryNo minimum requirement.
Disk SpaceNo minimum requirement.

Usage

You should specify the version in your project's plugin configuration:

<project>
  ...
  <build>
    <!-- To define the plugin version in your parent POM -->
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.kuali.maven.plugins</groupId>
          <artifactId>graph-maven-plugin</artifactId>
          <version>1.2.0-SNAPSHOT</version>
        </plugin>
        ...
      </plugins>
    </pluginManagement>
    <!-- To use the plugin goals in your POM or parent POM -->
    <plugins>
      <plugin>
        <groupId>org.kuali.maven.plugins</groupId>
        <artifactId>graph-maven-plugin</artifactId>
        <version>1.2.0-SNAPSHOT</version>
      </plugin>
      ...
    </plugins>
  </build>
  ...
  <!-- To use the report goals in your POM or parent POM -->
  <reporting>
    <plugins>
      <plugin>
        <groupId>org.kuali.maven.plugins</groupId>
        <artifactId>graph-maven-plugin</artifactId>
        <version>1.2.0-SNAPSHOT</version>
      </plugin>
      ...
    </plugins>
  </reporting>
  ...
</project>

For more information, see "Guide to Configuring Plug-ins"