You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by rf...@apache.org on 2021/05/22 11:32:27 UTC
[maven-dependency-tree] 02/04: Fixed to also return dependencies
with scope "provided".
This is an automated email from the ASF dual-hosted git repository.
rfscholte pushed a commit to branch MSHARED-788
in repository https://gitbox.apache.org/repos/asf/maven-dependency-tree.git
commit 7f663c54bbfbb3bb014a517ead3e5b550dc48b5f
Author: Gabriel Belingueres <be...@gmail.com>
AuthorDate: Thu Dec 27 00:02:51 2018 -0300
Fixed to also return dependencies with scope "provided".
---
.../Maven31DependencyCollectorBuilder.java | 33 +++++++++++-----------
.../internal/Maven3DependencyCollectorBuilder.java | 12 ++++++--
2 files changed, 26 insertions(+), 19 deletions(-)
diff --git a/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven31DependencyCollectorBuilder.java b/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven31DependencyCollectorBuilder.java
index f4fd955..7152ab7 100644
--- a/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven31DependencyCollectorBuilder.java
+++ b/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven31DependencyCollectorBuilder.java
@@ -55,7 +55,6 @@ import org.eclipse.aether.util.graph.transformer.JavaScopeDeriver;
import org.eclipse.aether.util.graph.transformer.JavaScopeSelector;
import org.eclipse.aether.util.graph.transformer.NearestVersionSelector;
import org.eclipse.aether.util.graph.transformer.SimpleOptionalitySelector;
-import org.eclipse.aether.util.graph.visitor.CloningDependencyVisitor;
import org.eclipse.aether.util.graph.visitor.TreeDependencyVisitor;
import org.eclipse.aether.version.VersionConstraint;
@@ -75,30 +74,35 @@ public class Maven31DependencyCollectorBuilder
@Override
public DependencyNode collectDependencyGraph( ArtifactRepository localRepository,
- ProjectBuildingRequest buildingRequest, ArtifactFilter filter )
+ ProjectBuildingRequest buildingRequest, ArtifactFilter filter )
throws DependencyGraphBuilderException
{
DefaultRepositorySystemSession session = null;
try
{
MavenProject project = buildingRequest.getProject();
+
Artifact projectArtifact = project.getArtifact();
List<ArtifactRepository> remoteArtifactRepositories = project.getRemoteArtifactRepositories();
DefaultRepositorySystemSession repositorySession =
(DefaultRepositorySystemSession) Invoker.invoke( buildingRequest, "getRepositorySession" );
-
+
session = new DefaultRepositorySystemSession( repositorySession );
DependencyGraphTransformer transformer =
new ConflictResolver( new NearestVersionSelector(), new JavaScopeSelector(),
new SimpleOptionalitySelector(), new JavaScopeDeriver() );
-
session.setDependencyGraphTransformer( transformer );
+ DependencySelector depFilter =
+ new AndDependencySelector( new ScopeDependencySelector(), new OptionalDependencySelector(),
+ new ExclusionDependencySelector() );
+ session.setDependencySelector( depFilter );
+
session.setConfigProperty( ConflictResolver.CONFIG_PROP_VERBOSE, true );
session.setConfigProperty( DependencyManagerUtils.CONFIG_PROP_VERBOSE, true );
-
+
org.eclipse.aether.artifact.Artifact aetherArtifact =
(org.eclipse.aether.artifact.Artifact) Invoker.invoke( RepositoryUtils.class, "toArtifact",
Artifact.class, projectArtifact );
@@ -113,11 +117,6 @@ public class Maven31DependencyCollectorBuilder
collectRequest.setRoot( new org.eclipse.aether.graph.Dependency( aetherArtifact, "" ) );
collectRequest.setRepositories( aetherRepos );
- DependencySelector depFilter =
- new AndDependencySelector( new ScopeDependencySelector( "provided" ), new OptionalDependencySelector(),
- new ExclusionDependencySelector() );
- session.setDependencySelector( depFilter );
-
org.eclipse.aether.artifact.ArtifactTypeRegistry stereotypes = session.getArtifactTypeRegistry();
collectDependencyList( collectRequest, project, stereotypes );
collectManagedDependencyList( collectRequest, project, stereotypes );
@@ -126,11 +125,11 @@ public class Maven31DependencyCollectorBuilder
org.eclipse.aether.graph.DependencyNode rootNode = collectResult.getRoot();
- CloningDependencyVisitor cloner = new CloningDependencyVisitor();
- TreeDependencyVisitor treeVisitor = new TreeDependencyVisitor( cloner );
- rootNode.accept( treeVisitor );
-
- rootNode = cloner.getRootNode();
+// CloningDependencyVisitor cloner = new CloningDependencyVisitor();
+// TreeDependencyVisitor treeVisitor = new TreeDependencyVisitor( cloner );
+// rootNode.accept( treeVisitor );
+//
+// rootNode = cloner.getRootNode();
if ( getLogger().isDebugEnabled() )
{
@@ -192,7 +191,7 @@ public class Maven31DependencyCollectorBuilder
}
private void collectDependencyList( CollectRequest collectRequest, MavenProject project,
- org.eclipse.aether.artifact.ArtifactTypeRegistry stereotypes )
+ org.eclipse.aether.artifact.ArtifactTypeRegistry stereotypes )
throws DependencyGraphBuilderException
{
for ( Dependency dependency : project.getDependencies() )
@@ -242,7 +241,7 @@ public class Maven31DependencyCollectorBuilder
{
String premanagedVersion = DependencyManagerUtils.getPremanagedVersion( node );
String premanagedScope = DependencyManagerUtils.getPremanagedScope( node );
-
+
Boolean optional = null;
if ( node.getDependency() != null )
{
diff --git a/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven3DependencyCollectorBuilder.java b/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven3DependencyCollectorBuilder.java
index d6b6d49..d88b884 100644
--- a/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven3DependencyCollectorBuilder.java
+++ b/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven3DependencyCollectorBuilder.java
@@ -42,6 +42,7 @@ import org.sonatype.aether.artifact.ArtifactTypeRegistry;
import org.sonatype.aether.collection.CollectRequest;
import org.sonatype.aether.collection.CollectResult;
import org.sonatype.aether.collection.DependencyCollectionException;
+import org.sonatype.aether.collection.DependencyGraphTransformer;
import org.sonatype.aether.collection.DependencySelector;
import org.sonatype.aether.graph.DependencyVisitor;
import org.sonatype.aether.util.DefaultRepositorySystemSession;
@@ -51,6 +52,10 @@ import org.sonatype.aether.util.graph.selector.AndDependencySelector;
import org.sonatype.aether.util.graph.selector.ExclusionDependencySelector;
import org.sonatype.aether.util.graph.selector.OptionalDependencySelector;
import org.sonatype.aether.util.graph.selector.ScopeDependencySelector;
+import org.sonatype.aether.util.graph.transformer.ChainedDependencyGraphTransformer;
+import org.sonatype.aether.util.graph.transformer.ConflictMarker;
+import org.sonatype.aether.util.graph.transformer.JavaDependencyContextRefiner;
+import org.sonatype.aether.util.graph.transformer.JavaEffectiveScopeCalculator;
import org.sonatype.aether.version.VersionConstraint;
/**
@@ -87,10 +92,13 @@ public class Maven3DependencyCollectorBuilder
DefaultRepositorySystemSession session = new DefaultRepositorySystemSession( repositorySystemSession );
- session.setDependencyGraphTransformer( null );
+ DependencyGraphTransformer transformer =
+ new ChainedDependencyGraphTransformer( new ConflictMarker(), new JavaEffectiveScopeCalculator(),
+ new JavaDependencyContextRefiner() );
+ session.setDependencyGraphTransformer( transformer );
DependencySelector depFilter =
- new AndDependencySelector( new ScopeDependencySelector( "provided" ), new OptionalDependencySelector(),
+ new AndDependencySelector( new ScopeDependencySelector(), new OptionalDependencySelector(),
new ExclusionDependencySelector() );
session.setDependencySelector( depFilter );