graph:multi

Full name:

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

Description:

Convenience mojo for generating multiple graphs.

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.

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

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

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