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 booleanWhether to append outputs into the output file or overwrite it.private org.apache.maven.shared.dependency.graph.DependencyCollectorBuilderThe dependency collector builder to use.private org.apache.maven.shared.dependency.graph.DependencyGraphBuilderThe dependency graph builder to use.private StringA comma-separated list of artifacts to filter from the serialized dependency tree, ornullnot to filter any artifacts from the dependency tree.private StringA comma-separated list of artifacts to filter the serialized dependency tree by, ornullnot to filter the dependency tree.private Stringprivate FileIf specified, this parameter will cause the dependency tree to be written to the path specified, instead of writing to the console.private StringIf specified, this parameter will cause the dependency tree to be written using the specified format.private org.apache.maven.project.MavenProjectThe 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.RepositorySystemSessionThe current repository/network configuration of Maven.private org.eclipse.aether.RepositorySystem(package private) org.eclipse.aether.RepositorySystemprivate org.apache.maven.shared.dependency.graph.DependencyNodeThe computed dependency tree root node of the Maven project.private StringThe scope to filter by when resolving the dependency tree, ornullto include dependencies from all scopes.private org.apache.maven.execution.MavenSessionprivate booleanSkip plugin execution completely.private StringThe token set name to use when outputting the dependency tree.private booleanWhether 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 booleancontainsVersion(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.DependencyNodeFilterGets the dependency node filter to use when serializing the dependency graph.private org.apache.maven.artifact.resolver.filter.ArtifactFilterGets the artifact filter to use when resolving the dependency tree.voidexecute()org.apache.maven.shared.dependency.graph.DependencyNodeGets the computed dependency graph root node for the Maven project.org.apache.maven.project.MavenProjectGets the Maven project used by this mojo.org.apache.maven.shared.dependency.graph.traversal.DependencyNodeVisitorbooleanisSkip()private StringserializeDependencyTree(org.apache.maven.shared.dependency.graph.DependencyNode theRootNode) Serializes the specified dependency tree to a string.voidsetSkip(boolean skip) private org.apache.maven.shared.dependency.graph.traversal.SerializingDependencyNodeVisitor.GraphTokenstoGraphTokens(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,graphmlandtgf. These additional formats can be plotted to image files.- Since:
- 2.2
-
scope
The scope to filter by when resolving the dependency tree, ornullto 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.- Since:
- 2.0-alpha-6
-
tokens
The token set name to use when outputting the dependency tree. Possible values arewhitespace,standardorextended, 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, ornullnot 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:::*-SNAPSHOTwill match all snapshot artifacts.- Since:
- 2.0-alpha-6
- See Also:
-
excludes
A comma-separated list of artifacts to filter from the serialized dependency tree, ornullnot 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:::*-SNAPSHOTwill match all snapshot artifacts.- Since:
- 2.0-alpha-6
- See Also:
-
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.MojoExecutionExceptionorg.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
GraphTokensinstance
-
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
nullif 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.
-