depgraph:graph

Full name:

com.github.ferstl:depgraph-maven-plugin:4.0.3:graph

Description:

Creates a dependency graph of a maven module.

Attributes:

  • Requires a Maven project to be executed.

Optional Parameters

Name Type Since Description
<classpathScope> String 4.0.0 The scope of the artifacts that should be included in the graph. An empty string indicates all scopes (default). The scopes being interpreted are the scopes as Maven sees them, not as specified in the pom. In summary:
  • compile: Equivalent to `-Dscopes=compile,provided,system`
  • provided: Equivalent to `-Dscopes=provided`
  • runtime: Equivalent to `-Dscopes=compile,runtime`
  • system: Equivalent to `-Dscopes=system`
  • test (default): Shows all dependencies
This parameter replaces the former scope parameter which was introduced in version 1.0.0.
User property is: classpathScope.
<createImage> boolean 1.0.0 Only relevant when graphFormat=dot: If set to true and Graphviz is installed on the system where this plugin is executed, the dot file will be converted to a graph image using Graphviz' dot executable.
Default value is: false.
User property is: createImage.
<customStyleConfiguration> String 2.0.0 Only relevant when graphFormat=dot: Path to a custom style configuration in JSON format.
User property is: customStyleConfiguration.
<dotArguments> String 4.0.0 Only relevant when graphFormat=dot and createImage=true: Additional arguments for the dot executable (besides -T and -o).
User property is: dotArguments.
<dotExecutable> File 1.0.0 Only relevant when graphFormat=dot and createImage=true: Path to the dot executable. Use this option in case createImage is set to true and the dot executable is not on the system PATH.
User property is: dotExecutable.
<excludeOptionalDependencies> boolean 3.2.0 Indicates whether optional dependencies should be excluded from the graph.
Default value is: false.
User property is: excludeOptionalDependencies.
<excludes> List 1.0.0 List of artifacts to be excluded in the form of groupId:artifactId:type:classifier.
User property is: excludes.
<graphFormat> String 2.1.0 Format of the graph, either "dot" (default), "gml", "puml", "json" or "text".
Default value is: dot.
User property is: graphFormat.
<imageFormat> String 1.0.0 Only relevant when graphFormat=dot: The format for the graph image when createImage is set to true.
Default value is: png.
User property is: imageFormat.
<includes> List 1.0.0 List of artifacts to be included in the form of groupId:artifactId:type:classifier.
User property is: includes.
<mergeClassifiers> boolean 3.0.0 Merge dependencies with multiple classifiers into one graph node instead of having a node per classifier.
Default value is: false.
User property is: mergeClassifiers.
<mergeTypes> boolean 3.0.0 Merge dependencies with multiple types into one graph node instead of having a node per type.
Default value is: false.
User property is: mergeTypes.
<outputDirectory> File 2.2.0 Output directory to write the dependency graph to. The default is the project's build directory. For goals that don't require a project the current directory will be used.
Default value is: ${project.build.directory}.
User property is: outputDirectory.
<outputFileName> String 2.2.0 The name of the dependency graph file. A file extension matching the configured graphFormat will be added if not specified.
Default value is: dependency-graph.
User property is: outputFileName.
<printStyleConfiguration> boolean 2.0.0 Only relevant when graphFormat=dot: If set to true the effective style configuration used to create this graph will be printed on the console.
Default value is: false.
User property is: printStyleConfiguration.
<scope> String 1.0.0 Deprecated. Use classpathScope instead.
User property is: scope.
<scopes> List 4.0.0 List of dependency scopes to be included in the graph. If empty, all scopes are included.
User property is: scopes.
<showAllAttributesForJson> boolean 3.0.0 If set to true (which is the default) and the graph format is 'json', the graph will show any information that is possible. The idea behind this option is, that the consumer of the JSON data, for example a Javascript library, will do its own filtering of the data.
Default value is: true.
User property is: showAllAttributesForJson.
<showClassifiers> boolean 3.0.0 If set to true, the created graph will show classifier information an all artifacts.
Default value is: false.
User property is: showClassifiers.
<showConflicts> boolean 1.0.0 If set to true, the graph will additionally contain conflicting dependencies.
The option showAllAttributesForJson does not enable this flag.
Default value is: false.
User property is: showConflicts.
<showDuplicates> boolean 1.0.0 If set to true, the graph will additionally contain duplicate dependencies.
The option showAllAttributesForJson does not enable this flag.
Default value is: false.
User property is: showDuplicates.
<showGroupIds> boolean 1.0.3 If set to true, the created graph will show the groupId on all artifacts.
Default value is: false.
User property is: showGroupIds.
<showOptional> boolean 3.2.0 If set to true, the created graph will mark optional dependencies.
Default value is: true.
User property is: showOptional.
<showTypes> boolean 3.0.0 If set to true, the created graph will show type information an all artifacts.
Default value is: false.
User property is: showTypes.
<showVersions> boolean 1.0.0 If set to true, the created graph will show version information an all artifacts. Depending on the flags showDuplicates and showConflicts, the version will either be shown directly in the artifact nodes or on the dependency edges.
Default value is: false.
User property is: showVersions.
<skip> boolean 3.3.0 Skip execution when set to true.
Default value is: false.
User property is: depgraph.skip.
<targetIncludes> List 1.0.4 List of artifacts, in the form of groupId:artifactId:type:classifier, to restrict the dependency graph only to artifacts that depend on them.
User property is: targetIncludes.
<transitiveExcludes> List 3.0.0 List of artifacts in the form of groupId:artifactId:type:classifier to be excluded if they are transitive.
User property is: transitiveExcludes.
<transitiveIncludes> List 3.0.0 List of artifacts in the form of groupId:artifactId:type:classifier to be included if they are transitive.
User property is: transitiveIncludes.
<useArtifactIdInFileName> boolean 2.2.0 Indicates whether the project's artifact ID should be used as file name for the generated graph files.
  • This flag does not have an effect when the (deprecated) outputFile parameter is used.
  • When set to true, the content of the outputFileName parameter is ignored.

Default value is: false.
User property is: useArtifactIdInFileName.

Parameter Details

<classpathScope>

The scope of the artifacts that should be included in the graph. An empty string indicates all scopes (default). The scopes being interpreted are the scopes as Maven sees them, not as specified in the pom. In summary:
  • compile: Equivalent to `-Dscopes=compile,provided,system`
  • provided: Equivalent to `-Dscopes=provided`
  • runtime: Equivalent to `-Dscopes=compile,runtime`
  • system: Equivalent to `-Dscopes=system`
  • test (default): Shows all dependencies
This parameter replaces the former scope parameter which was introduced in version 1.0.0.
  • Type: java.lang.String
  • Since: 4.0.0
  • Required: No
  • User Property: classpathScope

<createImage>

Only relevant when graphFormat=dot: If set to true and Graphviz is installed on the system where this plugin is executed, the dot file will be converted to a graph image using Graphviz' dot executable.
  • Type: boolean
  • Since: 1.0.0
  • Required: No
  • User Property: createImage
  • Default: false

<customStyleConfiguration>

Only relevant when graphFormat=dot: Path to a custom style configuration in JSON format.
  • Type: java.lang.String
  • Since: 2.0.0
  • Required: No
  • User Property: customStyleConfiguration

<dotArguments>

Only relevant when graphFormat=dot and createImage=true: Additional arguments for the dot executable (besides -T and -o).
  • Type: java.lang.String
  • Since: 4.0.0
  • Required: No
  • User Property: dotArguments

<dotExecutable>

Only relevant when graphFormat=dot and createImage=true: Path to the dot executable. Use this option in case createImage is set to true and the dot executable is not on the system PATH.
  • Type: java.io.File
  • Since: 1.0.0
  • Required: No
  • User Property: dotExecutable

<excludeOptionalDependencies>

Indicates whether optional dependencies should be excluded from the graph.
  • Type: boolean
  • Since: 3.2.0
  • Required: No
  • User Property: excludeOptionalDependencies
  • Default: false

<excludes>

List of artifacts to be excluded in the form of groupId:artifactId:type:classifier.
  • Type: java.util.List
  • Since: 1.0.0
  • Required: No
  • User Property: excludes

<graphFormat>

Format of the graph, either "dot" (default), "gml", "puml", "json" or "text".
  • Type: java.lang.String
  • Since: 2.1.0
  • Required: No
  • User Property: graphFormat
  • Default: dot

<imageFormat>

Only relevant when graphFormat=dot: The format for the graph image when createImage is set to true.
  • Type: java.lang.String
  • Since: 1.0.0
  • Required: No
  • User Property: imageFormat
  • Default: png

<includes>

List of artifacts to be included in the form of groupId:artifactId:type:classifier.
  • Type: java.util.List
  • Since: 1.0.0
  • Required: No
  • User Property: includes

<mergeClassifiers>

Merge dependencies with multiple classifiers into one graph node instead of having a node per classifier.
  • Type: boolean
  • Since: 3.0.0
  • Required: No
  • User Property: mergeClassifiers
  • Default: false

<mergeTypes>

Merge dependencies with multiple types into one graph node instead of having a node per type.
  • Type: boolean
  • Since: 3.0.0
  • Required: No
  • User Property: mergeTypes
  • Default: false

<outputDirectory>

Output directory to write the dependency graph to. The default is the project's build directory. For goals that don't require a project the current directory will be used.
  • Type: java.io.File
  • Since: 2.2.0
  • Required: No
  • User Property: outputDirectory
  • Default: ${project.build.directory}

<outputFileName>

The name of the dependency graph file. A file extension matching the configured graphFormat will be added if not specified.
  • Type: java.lang.String
  • Since: 2.2.0
  • Required: No
  • User Property: outputFileName
  • Default: dependency-graph

<printStyleConfiguration>

Only relevant when graphFormat=dot: If set to true the effective style configuration used to create this graph will be printed on the console.
  • Type: boolean
  • Since: 2.0.0
  • Required: No
  • User Property: printStyleConfiguration
  • Default: false

<scope>

Deprecated. Use classpathScope instead.
The scope of the artifacts that should be included in the graph. An empty string indicates all scopes (default). The scopes being interpreted are the scopes as Maven sees them, not as specified in the pom. In summary:
  • compile: Shows compile, provided and system dependencies
  • provided: Shows provided dependencies
  • runtime: Shows compile and runtime dependencies
  • system: Shows system dependencies
  • test (default): Shows all dependencies
  • Type: java.lang.String
  • Since: 1.0.0
  • Required: No
  • User Property: scope

<scopes>

List of dependency scopes to be included in the graph. If empty, all scopes are included.
  • Type: java.util.List
  • Since: 4.0.0
  • Required: No
  • User Property: scopes

<showAllAttributesForJson>

If set to true (which is the default) and the graph format is 'json', the graph will show any information that is possible. The idea behind this option is, that the consumer of the JSON data, for example a Javascript library, will do its own filtering of the data.
  • Type: boolean
  • Since: 3.0.0
  • Required: No
  • User Property: showAllAttributesForJson
  • Default: true

<showClassifiers>

If set to true, the created graph will show classifier information an all artifacts.
  • Type: boolean
  • Since: 3.0.0
  • Required: No
  • User Property: showClassifiers
  • Default: false

<showConflicts>

If set to true, the graph will additionally contain conflicting dependencies.
The option showAllAttributesForJson does not enable this flag.
  • Type: boolean
  • Since: 1.0.0
  • Required: No
  • User Property: showConflicts
  • Default: false

<showDuplicates>

If set to true, the graph will additionally contain duplicate dependencies.
The option showAllAttributesForJson does not enable this flag.
  • Type: boolean
  • Since: 1.0.0
  • Required: No
  • User Property: showDuplicates
  • Default: false

<showGroupIds>

If set to true, the created graph will show the groupId on all artifacts.
  • Type: boolean
  • Since: 1.0.3
  • Required: No
  • User Property: showGroupIds
  • Default: false

<showOptional>

If set to true, the created graph will mark optional dependencies.
  • Type: boolean
  • Since: 3.2.0
  • Required: No
  • User Property: showOptional
  • Default: true

<showTypes>

If set to true, the created graph will show type information an all artifacts.
  • Type: boolean
  • Since: 3.0.0
  • Required: No
  • User Property: showTypes
  • Default: false

<showVersions>

If set to true, the created graph will show version information an all artifacts. Depending on the flags showDuplicates and showConflicts, the version will either be shown directly in the artifact nodes or on the dependency edges.
  • Type: boolean
  • Since: 1.0.0
  • Required: No
  • User Property: showVersions
  • Default: false

<skip>

Skip execution when set to true.
  • Type: boolean
  • Since: 3.3.0
  • Required: No
  • User Property: depgraph.skip
  • Default: false

<targetIncludes>

List of artifacts, in the form of groupId:artifactId:type:classifier, to restrict the dependency graph only to artifacts that depend on them.
  • Type: java.util.List
  • Since: 1.0.4
  • Required: No
  • User Property: targetIncludes

<transitiveExcludes>

List of artifacts in the form of groupId:artifactId:type:classifier to be excluded if they are transitive.
  • Type: java.util.List
  • Since: 3.0.0
  • Required: No
  • User Property: transitiveExcludes

<transitiveIncludes>

List of artifacts in the form of groupId:artifactId:type:classifier to be included if they are transitive.
  • Type: java.util.List
  • Since: 3.0.0
  • Required: No
  • User Property: transitiveIncludes

<useArtifactIdInFileName>

Indicates whether the project's artifact ID should be used as file name for the generated graph files.
  • This flag does not have an effect when the (deprecated) outputFile parameter is used.
  • When set to true, the content of the outputFileName parameter is ignored.
  • Type: boolean
  • Since: 2.2.0
  • Required: No
  • User Property: useArtifactIdInFileName
  • Default: false