graph:report

Note:This goal should be used as a Maven report.

Full name:

org.kuali.maven.plugins:graph-maven-plugin:1.1.0-SNAPSHOT:report

Description:

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

Attributes:

  • Requires a Maven project to be executed.
  • Requires dependency resolution of artifacts in scope: compile|test|runtime.

Required Parameters

Name Type Since Description
direction Direction -

The direction for the graph layout. Valid values are TB, LR, BT, RL. Top to bottom, left to right, bottom to top, and right to left, respectively.


Default value is: TB.
outputDir File -

The directory graphs are generated into.


Default value is: ${project.build.directory}/graph.
outputFormat String -

The output format for the graph. This can be any format supported by Graphviz (png, jpg, gif, pdf, ...)


Default value is: png.
reportOutputDirectory File -

Output folder where the main page of the report will be generated.

Note that this parameter is only relevant if the goal is run directly from the command line or from the default lifecycle. If the goal is run indirectly as part of site generation, the output directory configured in the Maven Site Plugin will be used instead.


subDirectory String -

Sub-directory underneath the output folder where graphs are created.


Default value is: graph.

Optional Parameters

Name Type Since Description
cascadeOptional boolean -

If true, any dependency marked as optional will have all of its transitive dependencies displayed as optional also.


Default value is: true.
categories List -

List of graphs to generate organized into categories and groups.

For example:

<categories>
  <category>
    <name>logging</name>
    <description>Dependencies on logging libraries</description>
    <groups>
      <group>
        <name>logging</name>
        <description>Dependencies on logging libraries</description>
        <descriptors>
          <descriptor>
            <includes>org.slf4j,log4j</includes>
            <name>other-logging</name>
          </descriptor>
          <descriptor>
            <includes>commons-logging</includes>
            <filterType>PATH</filterType>
            <name>commons-logging</name>
          </descriptor>
        </descriptors>
      </group>
    </groups>
  </category>
</categories>

executeDot boolean -

If true, the Graphviz "dot" binary is executed to produce a graph from the .dot text file


Default value is: true.
filterType FilterType -

Controls how filtering is applied to the tree. Valid options are HIDE, PATH

HIDE prunes the tree from the top down. The dependency tree is traversed and any node that does not match the filter criteria is removed (along with its entire sub-tree) from the graph.

PATH searches the tree for any nodes that match the filter criteria. All matching nodes are displayed and all nodes in the path back to the root from all matching nodes are displayed as well.


Default value is: HIDE.
generateDefaultGraphs boolean -

If true, the default set of graphs is generated in addition to those provided in categories list.


Default value is: true.
ignoreDotFailure boolean -

If true, the Maven build will continue even if the "dot" executable returns a non-zero exit value.


Default value is: false.
keepDotFile boolean -

If true, the .dot text file Graphviz uses to draw the graph is retained


Default value is: false.
showConflicts boolean -

If true, dependency conflicts are displayed on the graph


Default value is: true.
showDuplicates boolean -

If true, duplicate dependencies are displayed on the graph.


Default value is: false.
showGroupIds boolean -

If true, artifact group id's are displayed on the graph.


Default value is: true.
showLegend boolean -

If true, any filters applied to the dependency tree are shown in the legend.


Default value is: true.
showTitle boolean -

If true, the title for the graph will be displayed.


Default value is: true.
skip boolean -

If true, mojo execution is skipped.


Default value is: false.
skipEmptyGraphs boolean -

If true, do not invoke Graphviz if there are no dependencies to graph.


Default value is: true.
title String -

The title for the graph


Default value is: Dependency Graph for ${project.name}.
verbose boolean -

If true, metadata about the dependency tree is displayed.


Default value is: false.

Parameter Details

cascadeOptional:

If true, any dependency marked as optional will have all of its transitive dependencies displayed as optional also.

  • Type: boolean
  • Required: No
  • Expression: ${graph.cascadeOptional}
  • Default: true

categories:

List of graphs to generate organized into categories and groups.

For example:

<categories>
  <category>
    <name>logging</name>
    <description>Dependencies on logging libraries</description>
    <groups>
      <group>
        <name>logging</name>
        <description>Dependencies on logging libraries</description>
        <descriptors>
          <descriptor>
            <includes>org.slf4j,log4j</includes>
            <name>other-logging</name>
          </descriptor>
          <descriptor>
            <includes>commons-logging</includes>
            <filterType>PATH</filterType>
            <name>commons-logging</name>
          </descriptor>
        </descriptors>
      </group>
    </groups>
  </category>
</categories>
  • Type: java.util.List
  • Required: No

direction:

The direction for the graph layout. Valid values are TB, LR, BT, RL. Top to bottom, left to right, bottom to top, and right to left, respectively.

  • Type: org.kuali.maven.plugins.graph.pojo.Direction
  • Required: Yes
  • Expression: ${graph.direction}
  • Default: TB

executeDot:

If true, the Graphviz "dot" binary is executed to produce a graph from the .dot text file

  • Type: boolean
  • Required: No
  • Expression: ${graph.executeDot}
  • Default: true

filterType:

Controls how filtering is applied to the tree. Valid options are HIDE, PATH

HIDE prunes the tree from the top down. The dependency tree is traversed and any node that does not match the filter criteria is removed (along with its entire sub-tree) from the graph.

PATH searches the tree for any nodes that match the filter criteria. All matching nodes are displayed and all nodes in the path back to the root from all matching nodes are displayed as well.

  • Type: org.kuali.maven.plugins.graph.pojo.FilterType
  • Required: No
  • Expression: ${graph.filterType}
  • Default: HIDE

generateDefaultGraphs:

If true, the default set of graphs is generated in addition to those provided in categories list.

  • Type: boolean
  • Required: No
  • Expression: ${graph.generateDefaultGraphs}
  • Default: true

ignoreDotFailure:

If true, the Maven build will continue even if the "dot" executable returns a non-zero exit value.

  • Type: boolean
  • Required: No
  • Expression: ${graph.ignoreDotFailure}
  • Default: false

keepDotFile:

If true, the .dot text file Graphviz uses to draw the graph is retained

  • Type: boolean
  • Required: No
  • Expression: ${graph.keepDotFile}
  • Default: false

outputDir:

The directory graphs are generated into.

  • Type: java.io.File
  • Required: Yes
  • Expression: ${graph.outputDir}
  • Default: ${project.build.directory}/graph

outputFormat:

The output format for the graph. This can be any format supported by Graphviz (png, jpg, gif, pdf, ...)

  • Type: java.lang.String
  • Required: Yes
  • Expression: ${graph.outputFormat}
  • Default: png

reportOutputDirectory:

Output folder where the main page of the report will be generated.

Note that this parameter is only relevant if the goal is run directly from the command line or from the default lifecycle. If the goal is run indirectly as part of site generation, the output directory configured in the Maven Site Plugin will be used instead.

  • Type: java.io.File
  • Required: Yes
  • Expression: ${project.reporting.outputDirectory}

showConflicts:

If true, dependency conflicts are displayed on the graph

  • Type: boolean
  • Required: No
  • Expression: ${graph.showConflicts}
  • Default: true

showDuplicates:

If true, duplicate dependencies are displayed on the graph.

  • Type: boolean
  • Required: No
  • Expression: ${graph.showDuplicates}
  • Default: false

showGroupIds:

If true, artifact group id's are displayed on the graph.

  • Type: boolean
  • Required: No
  • Expression: ${graph.showGroupIds}
  • Default: true

showLegend:

If true, any filters applied to the dependency tree are shown in the legend.

  • Type: boolean
  • Required: No
  • Expression: ${graph.showLegend}
  • Default: true

showTitle:

If true, the title for the graph will be displayed.

  • Type: boolean
  • Required: No
  • Expression: ${graph.showTitle}
  • Default: true

skip:

If true, mojo execution is skipped.

  • Type: boolean
  • Required: No
  • Expression: ${graph.skip}
  • Default: false

skipEmptyGraphs:

If true, do not invoke Graphviz if there are no dependencies to graph.

  • Type: boolean
  • Required: No
  • Expression: ${graph.skipEmptyGraphs}
  • Default: true

subDirectory:

Sub-directory underneath the output folder where graphs are created.

  • Type: java.lang.String
  • Required: Yes
  • Expression: ${graph.subDirectory}
  • Default: graph

title:

The title for the graph

  • Type: java.lang.String
  • Required: No
  • Expression: ${graph.title}
  • Default: Dependency Graph for ${project.name}

verbose:

If true, metadata about the dependency tree is displayed.

  • Type: boolean
  • Required: No
  • Expression: ${graph.verbose}
  • Default: false