This is an automated email from the ASF dual-hosted git repository. rfscholte pushed a commit to branch MSHARED-519 in repository https://gitbox.apache.org/repos/asf/maven-dependency-tree.git
commit b330fa93b70e35c70a8afa75f0404cf47d5935d6 Author: rfscholte <rfscho...@apache.org> AuthorDate: Mon May 24 15:02:50 2021 +0200 [MSHARED-519] DependencyGraphBuilder should not download dependencies other than the pom --- .../graph/internal/Maven31DependencyGraphBuilder.java | 12 ++++++++++++ .../graph/internal/Maven3DependencyGraphBuilder.java | 13 +++++++++++++ 2 files changed, 25 insertions(+) diff --git a/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven31DependencyGraphBuilder.java b/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven31DependencyGraphBuilder.java index 532a507..9e8089f 100644 --- a/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven31DependencyGraphBuilder.java +++ b/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven31DependencyGraphBuilder.java @@ -47,6 +47,7 @@ import org.codehaus.plexus.logging.AbstractLogEnabled; import org.eclipse.aether.DefaultRepositorySystemSession; import org.eclipse.aether.RepositorySystemSession; import org.eclipse.aether.graph.Dependency; +import org.eclipse.aether.graph.DependencyFilter; import org.eclipse.aether.graph.Exclusion; import org.eclipse.aether.util.graph.manager.DependencyManagerUtils; import org.eclipse.aether.version.VersionConstraint; @@ -126,6 +127,17 @@ public class Maven31DependencyGraphBuilder final DependencyResolutionRequest request = new DefaultDependencyResolutionRequest(); request.setMavenProject( project ); Invoker.invoke( request, "setRepositorySession", RepositorySystemSession.class, session ); + // only download the poms, not the artifacts + DependencyFilter collectFilter = new DependencyFilter() + { + @Override + public boolean accept( org.eclipse.aether.graph.DependencyNode node, + List<org.eclipse.aether.graph.DependencyNode> parents ) + { + return false; + } + }; + Invoker.invoke( request, "setResolutionFilter", DependencyFilter.class, collectFilter ); final DependencyResolutionResult result = resolveDependencies( request, reactorProjects ); org.eclipse.aether.graph.DependencyNode graph = diff --git a/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven3DependencyGraphBuilder.java b/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven3DependencyGraphBuilder.java index 39e2a35..3eedffd 100644 --- a/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven3DependencyGraphBuilder.java +++ b/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven3DependencyGraphBuilder.java @@ -42,6 +42,7 @@ import org.apache.maven.shared.dependency.graph.DependencyNode; import org.codehaus.plexus.component.annotations.Component; import org.codehaus.plexus.component.annotations.Requirement; import org.codehaus.plexus.logging.AbstractLogEnabled; +import org.sonatype.aether.graph.DependencyFilter; import org.sonatype.aether.graph.Dependency; import org.sonatype.aether.version.VersionConstraint; @@ -95,6 +96,18 @@ public class Maven3DependencyGraphBuilder DependencyResolutionRequest request = new DefaultDependencyResolutionRequest( project, buildingRequest.getRepositorySession() ); + // only download the poms, not the artifacts + DependencyFilter collectFilter = new DependencyFilter() + { + @Override + public boolean accept( org.sonatype.aether.graph.DependencyNode node, + List<org.sonatype.aether.graph.DependencyNode> parents ) + { + return false; + } + }; + request.setResolutionFilter( collectFilter ); + DependencyResolutionResult result = resolveDependencies( request, reactorProjects ); return buildDependencyNode( null, result.getDependencyGraph(), project.getArtifact(), filter );