This is an automated email from the ASF dual-hosted git repository.
bbende pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nifi-maven.git
The following commit(s) were added to refs/heads/master by this push:
new 1c37641 NIFI-6272 Upgrade to maven-dependency-tree 3.0.1
1c37641 is described below
commit 1c37641096a143fa8960285abe52f3eba1891d9c
Author: Bryan Bende <[email protected]>
AuthorDate: Mon May 6 16:31:49 2019 -0400
NIFI-6272 Upgrade to maven-dependency-tree 3.0.1
This closes #11.
---
pom.xml | 2 +-
src/main/java/org/apache/nifi/NarMojo.java | 6 +--
.../apache/nifi/NarProvidedDependenciesMojo.java | 16 +++---
.../extraction/ExtensionClassLoaderFactory.java | 61 +++++++++++-----------
4 files changed, 44 insertions(+), 41 deletions(-)
diff --git a/pom.xml b/pom.xml
index 718eb81..5ccfc7f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -395,7 +395,7 @@
<dependency>
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-dependency-tree</artifactId>
- <version>2.2</version>
+ <version>3.0.1</version>
</dependency>
<dependency>
<!-- No code from maven-jar-plugin is actually used; it's included
diff --git a/src/main/java/org/apache/nifi/NarMojo.java
b/src/main/java/org/apache/nifi/NarMojo.java
index ada7b60..c3965b7 100644
--- a/src/main/java/org/apache/nifi/NarMojo.java
+++ b/src/main/java/org/apache/nifi/NarMojo.java
@@ -58,7 +58,7 @@ import
org.apache.maven.shared.artifact.filter.collection.GroupIdFilter;
import
org.apache.maven.shared.artifact.filter.collection.ProjectTransitivityFilter;
import org.apache.maven.shared.artifact.filter.collection.ScopeFilter;
import org.apache.maven.shared.artifact.filter.collection.TypeFilter;
-import org.apache.maven.shared.dependency.tree.DependencyTreeBuilder;
+import org.apache.maven.shared.dependency.graph.DependencyGraphBuilder;
import org.apache.nifi.extension.definition.ExtensionDefinition;
import org.apache.nifi.extension.definition.ExtensionType;
import org.apache.nifi.extension.definition.ServiceAPIDefinition;
@@ -393,7 +393,7 @@ public class NarMojo extends AbstractMojo {
* The dependency tree builder to use for verbose output.
*/
@Component
- private DependencyTreeBuilder dependencyTreeBuilder;
+ private DependencyGraphBuilder dependencyGraphBuilder;
/**
* *
@@ -785,7 +785,7 @@ public class NarMojo extends AbstractMojo {
private ExtensionClassLoaderFactory createClassLoaderFactory() {
return new ExtensionClassLoaderFactory.Builder()
.artifactResolver(resolver)
- .dependencyTreeBuilder(dependencyTreeBuilder)
+ .dependencyGraphBuilder(dependencyGraphBuilder)
.localRepository(local)
.log(getLog())
.project(project)
diff --git a/src/main/java/org/apache/nifi/NarProvidedDependenciesMojo.java
b/src/main/java/org/apache/nifi/NarProvidedDependenciesMojo.java
index a9ec9b2..cf43619 100644
--- a/src/main/java/org/apache/nifi/NarProvidedDependenciesMojo.java
+++ b/src/main/java/org/apache/nifi/NarProvidedDependenciesMojo.java
@@ -34,10 +34,10 @@ import org.apache.maven.project.ProjectBuilder;
import org.apache.maven.project.ProjectBuildingException;
import org.apache.maven.project.ProjectBuildingRequest;
import org.apache.maven.project.ProjectBuildingResult;
-import org.apache.maven.shared.dependency.tree.DependencyNode;
-import org.apache.maven.shared.dependency.tree.DependencyTreeBuilder;
-import org.apache.maven.shared.dependency.tree.DependencyTreeBuilderException;
-import org.apache.maven.shared.dependency.tree.traversal.DependencyNodeVisitor;
+import org.apache.maven.shared.dependency.graph.DependencyGraphBuilder;
+import
org.apache.maven.shared.dependency.graph.DependencyGraphBuilderException;
+import org.apache.maven.shared.dependency.graph.DependencyNode;
+import
org.apache.maven.shared.dependency.graph.traversal.DependencyNodeVisitor;
import org.eclipse.aether.RepositorySystemSession;
import java.util.ArrayDeque;
@@ -84,7 +84,7 @@ public class NarProvidedDependenciesMojo extends AbstractMojo
{
* The dependency tree builder to use for verbose output.
*/
@Component
- private DependencyTreeBuilder dependencyTreeBuilder;
+ private DependencyGraphBuilder dependencyGraphBuilder;
/**
* *
@@ -128,7 +128,9 @@ public class NarProvidedDependenciesMojo extends
AbstractMojo {
final ProjectBuildingRequest narRequest = new
DefaultProjectBuildingRequest();
narRequest.setRepositorySession(repoSession);
narRequest.setSystemProperties(System.getProperties());
+
final ProjectBuildingResult narResult =
projectBuilder.build(narArtifact, narRequest);
+ narRequest.setProject(narResult.getProject());
// get the artifact handler for excluding dependencies
final ArtifactHandler narHandler =
excludesDependencies(narArtifact);
@@ -145,7 +147,7 @@ public class NarProvidedDependenciesMojo extends
AbstractMojo {
artifactHandlerManager.addHandlers(narHandlerMap);
// get the dependency tree
- final DependencyNode root =
dependencyTreeBuilder.buildDependencyTree(narResult.getProject(),
localRepository, null);
+ final DependencyNode root =
dependencyGraphBuilder.buildDependencyGraph(narRequest, null);
// write the appropriate output
DependencyNodeVisitor visitor = null;
@@ -163,7 +165,7 @@ public class NarProvidedDependenciesMojo extends
AbstractMojo {
// visit and print the results
root.accept(visitor);
getLog().info("--- Provided NAR Dependencies ---\n\n" +
visitor.toString());
- } catch (DependencyTreeBuilderException | ProjectBuildingException e) {
+ } catch (ProjectBuildingException | DependencyGraphBuilderException e)
{
throw new MojoExecutionException("Cannot build project dependency
tree", e);
}
}
diff --git
a/src/main/java/org/apache/nifi/extension/definition/extraction/ExtensionClassLoaderFactory.java
b/src/main/java/org/apache/nifi/extension/definition/extraction/ExtensionClassLoaderFactory.java
index ce27810..d398302 100644
---
a/src/main/java/org/apache/nifi/extension/definition/extraction/ExtensionClassLoaderFactory.java
+++
b/src/main/java/org/apache/nifi/extension/definition/extraction/ExtensionClassLoaderFactory.java
@@ -33,10 +33,10 @@ import org.apache.maven.project.ProjectBuilder;
import org.apache.maven.project.ProjectBuildingException;
import org.apache.maven.project.ProjectBuildingRequest;
import org.apache.maven.project.ProjectBuildingResult;
-import org.apache.maven.shared.dependency.tree.DependencyNode;
-import org.apache.maven.shared.dependency.tree.DependencyTreeBuilder;
-import org.apache.maven.shared.dependency.tree.DependencyTreeBuilderException;
-import org.apache.maven.shared.dependency.tree.traversal.DependencyNodeVisitor;
+import org.apache.maven.shared.dependency.graph.DependencyGraphBuilder;
+import
org.apache.maven.shared.dependency.graph.DependencyGraphBuilderException;
+import org.apache.maven.shared.dependency.graph.DependencyNode;
+import
org.apache.maven.shared.dependency.graph.traversal.DependencyNodeVisitor;
import org.eclipse.aether.RepositorySystemSession;
import java.io.File;
@@ -56,7 +56,7 @@ public class ExtensionClassLoaderFactory {
private final RepositorySystemSession repoSession;
private final ProjectBuilder projectBuilder;
private final ArtifactRepository localRepo;
- private final DependencyTreeBuilder dependencyTreeBuilder;
+ private final DependencyGraphBuilder dependencyGraphBuilder;
private final ArtifactResolver artifactResolver;
private final ArtifactHandlerManager artifactHandlerManager;
@@ -66,7 +66,7 @@ public class ExtensionClassLoaderFactory {
this.repoSession = builder.repositorySession;
this.projectBuilder = builder.projectBuilder;
this.localRepo = builder.localRepo;
- this.dependencyTreeBuilder = builder.dependencyTreeBuilder;
+ this.dependencyGraphBuilder = builder.dependencyGraphBuilder;
this.artifactResolver = builder.artifactResolver;
this.artifactHandlerManager = builder.artifactHandlerManager;
}
@@ -131,24 +131,20 @@ public class ExtensionClassLoaderFactory {
return null;
}
- private Set<Artifact> getNarDependencies(final Artifact narArtifact)
throws MojoExecutionException {
+ private Set<Artifact> getNarDependencies(final Artifact narArtifact)
throws MojoExecutionException, ProjectBuildingException {
final ProjectBuildingRequest narRequest = new
DefaultProjectBuildingRequest();
narRequest.setRepositorySession(repoSession);
narRequest.setSystemProperties(System.getProperties());
+ narRequest.setLocalRepository(localRepo);
- final Set<Artifact> narDependencies = new TreeSet<>();
+ final ProjectBuildingResult narResult =
projectBuilder.build(narArtifact, narRequest);
- try {
- final ProjectBuildingResult narResult =
projectBuilder.build(narArtifact, narRequest);
- gatherArtifacts(narResult.getProject(), narDependencies);
- narDependencies.remove(narArtifact);
- narDependencies.remove(project.getArtifact());
-
- getLog().debug("Found NAR dependency of " + narArtifact + ", which
resolved to the following artifacts: " + narDependencies);
- } catch (ProjectBuildingException e) {
- throw new MojoExecutionException("Could not build parent nar
project");
- }
+ final Set<Artifact> narDependencies = new TreeSet<>();
+ gatherArtifacts(narResult.getProject(), narDependencies);
+ narDependencies.remove(narArtifact);
+ narDependencies.remove(project.getArtifact());
+ getLog().debug("Found NAR dependency of " + narArtifact + ", which
resolved to the following artifacts: " + narDependencies);
return narDependencies;
}
@@ -164,18 +160,17 @@ public class ExtensionClassLoaderFactory {
return findProvidedDependencyVersion(artifacts, groupId, artifactId);
}
- private String findProvidedDependencyVersion(final Set<Artifact>
artifacts, final String groupId, final String artifactId) throws
ProjectBuildingException, MojoExecutionException {
- final ProjectBuildingRequest narRequest = new
DefaultProjectBuildingRequest();
- narRequest.setRepositorySession(repoSession);
- narRequest.setSystemProperties(System.getProperties());
+ private String findProvidedDependencyVersion(final Set<Artifact>
artifacts, final String groupId, final String artifactId) {
+ final ProjectBuildingRequest projectRequest = new
DefaultProjectBuildingRequest();
+ projectRequest.setRepositorySession(repoSession);
+ projectRequest.setSystemProperties(System.getProperties());
+ projectRequest.setLocalRepository(localRepo);
for (final Artifact artifact : artifacts) {
final Set<Artifact> artifactDependencies = new HashSet<>();
-
try {
- final ProjectBuildingResult projectResult =
projectBuilder.build(artifact, narRequest);
+ final ProjectBuildingResult projectResult =
projectBuilder.build(artifact, projectRequest);
gatherArtifacts(projectResult.getProject(),
artifactDependencies);
-
getLog().debug("For Artifact " + artifact + ", found the
following dependencies:");
artifactDependencies.forEach(dep ->
getLog().debug(dep.toString()));
@@ -295,9 +290,15 @@ public class ExtensionClassLoaderFactory {
};
try {
- final DependencyNode depNode =
dependencyTreeBuilder.buildDependencyTree(mavenProject, localRepo, null);
+ final ProjectBuildingRequest projectRequest = new
DefaultProjectBuildingRequest();
+ projectRequest.setRepositorySession(repoSession);
+ projectRequest.setSystemProperties(System.getProperties());
+ projectRequest.setLocalRepository(localRepo);
+ projectRequest.setProject(mavenProject);
+
+ final DependencyNode depNode =
dependencyGraphBuilder.buildDependencyGraph(projectRequest, null);
depNode.accept(nodeVisitor);
- } catch (DependencyTreeBuilderException e) {
+ } catch (DependencyGraphBuilderException e) {
throw new MojoExecutionException("Failed to build dependency
tree", e);
}
}
@@ -344,7 +345,7 @@ public class ExtensionClassLoaderFactory {
private Log log;
private MavenProject project;
private ArtifactRepository localRepo;
- private DependencyTreeBuilder dependencyTreeBuilder;
+ private DependencyGraphBuilder dependencyGraphBuilder;
private ArtifactResolver artifactResolver;
private ProjectBuilder projectBuilder;
private RepositorySystemSession repositorySession;
@@ -370,8 +371,8 @@ public class ExtensionClassLoaderFactory {
return this;
}
- public Builder dependencyTreeBuilder(final DependencyTreeBuilder
dependencyTreeBuilder) {
- this.dependencyTreeBuilder = dependencyTreeBuilder;
+ public Builder dependencyGraphBuilder(final DependencyGraphBuilder
dependencyGraphBuilder) {
+ this.dependencyGraphBuilder = dependencyGraphBuilder;
return this;
}