Class TreeMojo
java.lang.Object
org.apache.maven.plugin.AbstractMojo
org.apache.maven.plugins.dependency.tree.TreeMojo
- All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled
,org.apache.maven.plugin.Mojo
@Mojo(name="tree",
requiresDependencyCollection=TEST,
threadSafe=true)
public class TreeMojo
extends org.apache.maven.plugin.AbstractMojo
Displays the dependency tree for this project. Multiple formats are supported: text (by default), but also
DOT,
GraphML, and
TGF.
- Since:
- 2.0-alpha-5
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate boolean
Whether to append outputs into the output file or overwrite it.private org.apache.maven.shared.dependency.graph.DependencyCollectorBuilder
The dependency collector builder to use.private org.apache.maven.shared.dependency.graph.DependencyGraphBuilder
The dependency graph builder to use.private String
A comma-separated list of artifacts to filter from the serialized dependency tree, ornull
not to filter any artifacts from the dependency tree.private String
A comma-separated list of artifacts to filter the serialized dependency tree by, ornull
not to filter the dependency tree.private String
private File
If specified, this parameter will cause the dependency tree to be written to the path specified, instead of writing to the console.private String
If specified, this parameter will cause the dependency tree to be written using the specified format.private org.apache.maven.project.MavenProject
The Maven project.private List<org.eclipse.aether.repository.RemoteRepository>
The project's remote repositories to use for the resolution of project dependencies.private List<org.apache.maven.project.MavenProject>
Contains the full list of projects in the reactor.private org.eclipse.aether.RepositorySystemSession
The current repository/network configuration of Maven.private org.eclipse.aether.RepositorySystem
(package private) org.eclipse.aether.RepositorySystem
private org.apache.maven.shared.dependency.graph.DependencyNode
The computed dependency tree root node of the Maven project.private String
The scope to filter by when resolving the dependency tree, ornull
to include dependencies from all scopes.private org.apache.maven.execution.MavenSession
private boolean
Skip plugin execution completely.private String
The token set name to use when outputting the dependency tree.private boolean
Whether to include omitted nodes in the serialized dependency tree.Fields inherited from interface org.apache.maven.plugin.Mojo
ROLE
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic boolean
containsVersion
(org.apache.maven.artifact.versioning.VersionRange allowedRange, org.apache.maven.artifact.versioning.ArtifactVersion theVersion) Deprecated.This method is unused in this project and will be removed in the future.private org.apache.maven.shared.dependency.graph.filter.DependencyNodeFilter
Gets the dependency node filter to use when serializing the dependency graph.private org.apache.maven.artifact.resolver.filter.ArtifactFilter
Gets the artifact filter to use when resolving the dependency tree.void
execute()
org.apache.maven.shared.dependency.graph.DependencyNode
Gets the computed dependency graph root node for the Maven project.org.apache.maven.project.MavenProject
Gets the Maven project used by this mojo.org.apache.maven.shared.dependency.graph.traversal.DependencyNodeVisitor
boolean
isSkip()
private String
serializeDependencyTree
(org.apache.maven.shared.dependency.graph.DependencyNode theRootNode) Serializes the specified dependency tree to a string.void
setSkip
(boolean skip) private org.apache.maven.shared.dependency.graph.traversal.SerializingDependencyNodeVisitor.GraphTokens
toGraphTokens
(String theTokens) Gets the graph tokens instance for the specified name.Methods inherited from class org.apache.maven.plugin.AbstractMojo
getLog, getPluginContext, setLog, setPluginContext
-
Field Details
-
project
@Parameter(defaultValue="${project}", readonly=true, required=true) private org.apache.maven.project.MavenProject projectThe Maven project. -
session
@Parameter(defaultValue="${session}", readonly=true, required=true) private org.apache.maven.execution.MavenSession session -
outputEncoding
@Parameter(property="outputEncoding", defaultValue="${project.reporting.outputEncoding}") private String outputEncoding -
reactorProjects
@Parameter(defaultValue="${reactorProjects}", readonly=true, required=true) private List<org.apache.maven.project.MavenProject> reactorProjectsContains the full list of projects in the reactor. -
repositorySystem
@Component private org.eclipse.aether.RepositorySystem repositorySystem -
repositorySystemParam
@Parameter(defaultValue="${repositorySystem}") org.eclipse.aether.RepositorySystem repositorySystemParam -
repoSession
@Parameter(defaultValue="${repositorySystemSession}") private org.eclipse.aether.RepositorySystemSession repoSessionThe current repository/network configuration of Maven. -
projectRepos
@Parameter(defaultValue="${project.remoteProjectRepositories}") private List<org.eclipse.aether.repository.RemoteRepository> projectReposThe project's remote repositories to use for the resolution of project dependencies. -
dependencyCollectorBuilder
@Component(hint="default") private org.apache.maven.shared.dependency.graph.DependencyCollectorBuilder dependencyCollectorBuilderThe dependency collector builder to use. -
dependencyGraphBuilder
@Component(hint="default") private org.apache.maven.shared.dependency.graph.DependencyGraphBuilder dependencyGraphBuilderThe dependency graph builder to use. -
outputFile
If specified, this parameter will cause the dependency tree to be written to the path specified, instead of writing to the console.- Since:
- 2.0-alpha-5
-
outputType
If specified, this parameter will cause the dependency tree to be written using the specified format. Currently supported format are:text
(default),dot
,graphml
andtgf
. These additional formats can be plotted to image files.- Since:
- 2.2
-
scope
The scope to filter by when resolving the dependency tree, ornull
to include dependencies from all scopes.- Since:
- 2.0-alpha-5
-
verbose
@Parameter(property="verbose", defaultValue="false") private boolean verboseWhether to include omitted nodes in the serialized dependency tree. Notice this feature actually uses Maven 2 algorithm and may give wrong results when used with Maven 3.- Since:
- 2.0-alpha-6
-
tokens
The token set name to use when outputting the dependency tree. Possible values arewhitespace
,standard
orextended
, which use whitespace, standard (ie ASCII) or extended character sets respectively.- Since:
- 2.0-alpha-6
-
includes
A comma-separated list of artifacts to filter the serialized dependency tree by, ornull
not to filter the dependency tree. The filter syntax is:[groupId]:[artifactId]:[type]:[version]
where each pattern segment is optional and supports full and partial*
wildcards. An empty pattern segment is treated as an implicit wildcard.For example,
org.apache.*
will match all artifacts whose group id starts withorg.apache.
, and:::*-SNAPSHOT
will match all snapshot artifacts.- Since:
- 2.0-alpha-6
- See Also:
-
StrictPatternIncludesArtifactFilter
-
excludes
A comma-separated list of artifacts to filter from the serialized dependency tree, ornull
not to filter any artifacts from the dependency tree. The filter syntax is:[groupId]:[artifactId]:[type]:[version]
where each pattern segment is optional and supports full and partial*
wildcards. An empty pattern segment is treated as an implicit wildcard.For example,
org.apache.*
will match all artifacts whose group id starts withorg.apache.
, and:::*-SNAPSHOT
will match all snapshot artifacts.- Since:
- 2.0-alpha-6
- See Also:
-
StrictPatternExcludesArtifactFilter
-
rootNode
private org.apache.maven.shared.dependency.graph.DependencyNode rootNodeThe computed dependency tree root node of the Maven project. -
appendOutput
@Parameter(property="appendOutput", defaultValue="false") private boolean appendOutputWhether to append outputs into the output file or overwrite it.- Since:
- 2.2
-
skip
@Parameter(property="skip", defaultValue="false") private boolean skipSkip plugin execution completely.- Since:
- 2.7
-
-
Constructor Details
-
TreeMojo
public TreeMojo()
-
-
Method Details
-
execute
public void execute() throws org.apache.maven.plugin.MojoExecutionException, org.apache.maven.plugin.MojoFailureException- Throws:
org.apache.maven.plugin.MojoExecutionException
org.apache.maven.plugin.MojoFailureException
-
getProject
public org.apache.maven.project.MavenProject getProject()Gets the Maven project used by this mojo.- Returns:
- the Maven project
-
getDependencyGraph
public org.apache.maven.shared.dependency.graph.DependencyNode getDependencyGraph()Gets the computed dependency graph root node for the Maven project.- Returns:
- the dependency tree root node
-
isSkip
public boolean isSkip()- Returns:
skip
-
setSkip
public void setSkip(boolean skip) - Parameters:
skip
-skip
-
createResolvingArtifactFilter
private org.apache.maven.artifact.resolver.filter.ArtifactFilter createResolvingArtifactFilter()Gets the artifact filter to use when resolving the dependency tree.- Returns:
- the artifact filter
-
getSerializingDependencyNodeVisitor
public org.apache.maven.shared.dependency.graph.traversal.DependencyNodeVisitor getSerializingDependencyNodeVisitor(Writer writer) - Parameters:
writer
-Writer
- Returns:
DependencyNodeVisitor
-
toGraphTokens
private org.apache.maven.shared.dependency.graph.traversal.SerializingDependencyNodeVisitor.GraphTokens toGraphTokens(String theTokens) Gets the graph tokens instance for the specified name.- Parameters:
theTokens
- the graph tokens name- Returns:
- the
GraphTokens
instance
-
createDependencyNodeFilter
private org.apache.maven.shared.dependency.graph.filter.DependencyNodeFilter createDependencyNodeFilter()Gets the dependency node filter to use when serializing the dependency graph.- Returns:
- the dependency node filter, or
null
if none required
-
containsVersion
@Deprecated public static boolean containsVersion(org.apache.maven.artifact.versioning.VersionRange allowedRange, org.apache.maven.artifact.versioning.ArtifactVersion theVersion) Deprecated.This method is unused in this project and will be removed in the future.Copied from Artifact.VersionRange. This is tweaked to handle singular ranges properly. Currently the default containsVersion method assumes a singular version means allow everything. This method assumes that "2.0.4" == "[2.0.4,)"- Parameters:
allowedRange
- range of allowed versions.theVersion
- the version to be checked.- Returns:
- true if the version is contained by the range.
-