in src/main/java/org/apache/maven/plugins/dependency/tree/TreeMojo.java [242:283]
public void execute() throws MojoExecutionException, MojoFailureException {
if (isSkip()) {
getLog().info("Skipping plugin execution");
return;
}
try {
String dependencyTreeString;
// TODO: note that filter does not get applied due to MSHARED-4
ArtifactFilter artifactFilter = createResolvingArtifactFilter();
ProjectBuildingRequest buildingRequest =
new DefaultProjectBuildingRequest(session.getProjectBuildingRequest());
buildingRequest.setProject(project);
if (verbose) {
rootNode = dependencyCollectorBuilder.collectDependencyGraph(buildingRequest, artifactFilter);
dependencyTreeString = serializeDependencyTree(rootNode);
} else {
// non-verbose mode use dependency graph component, which gives consistent results with Maven version
// running
rootNode = dependencyGraphBuilder.buildDependencyGraph(buildingRequest, artifactFilter);
dependencyTreeString = serializeDependencyTree(rootNode);
}
if (outputFile != null) {
String encoding = Objects.toString(outputEncoding, "UTF-8");
DependencyUtil.write(dependencyTreeString, outputFile, this.appendOutput, encoding);
getLog().info("Wrote dependency tree to: " + outputFile);
} else {
DependencyUtil.log(dependencyTreeString, getLog());
}
} catch (DependencyGraphBuilderException | DependencyCollectorBuilderException exception) {
throw new MojoExecutionException("Cannot build project dependency graph", exception);
} catch (IOException exception) {
throw new MojoExecutionException("Cannot serialize project dependency graph", exception);
}
}