Skip to content

Instantly share code, notes, and snippets.

@gnodet
Created October 16, 2024 10:06
Show Gist options
  • Save gnodet/7ba250d7584e73f02849cf3feb550416 to your computer and use it in GitHub Desktop.
Save gnodet/7ba250d7584e73f02849cf3feb550416 to your computer and use it in GitHub Desktop.
diff --git a/maven-api-impl/src/main/java/org/apache/maven/internal/impl/DefaultDependencyResolver.java b/maven-api-impl/src/main/java/org/apache/maven/internal/impl/DefaultDependencyResolver.java
index 6675d7bf96..c3266d2eb8 100644
--- a/maven-api-impl/src/main/java/org/apache/maven/internal/impl/DefaultDependencyResolver.java
+++ b/maven-api-impl/src/main/java/org/apache/maven/internal/impl/DefaultDependencyResolver.java
@@ -56,6 +56,7 @@
import org.eclipse.aether.collection.DependencyCollectionException;
import org.eclipse.aether.graph.DependencyFilter;
import org.eclipse.aether.graph.DependencyNode;
+import org.eclipse.aether.scope.ResolutionScope;
import org.eclipse.aether.util.graph.manager.DependencyManagerUtils;
import org.eclipse.aether.util.graph.transformer.ConflictResolver;
@@ -96,12 +97,20 @@ public DependencyResolverResult collect(@Nonnull DependencyResolverRequest reque
remoteRepositories =
request.getRepositories() != null ? request.getRepositories() : session.getRemoteRepositories();
}
+ ResolutionScope resolutionScope = null;
+ if (request.getPathScope() != null) {
+ resolutionScope = session.getSession()
+ .getScopeManager()
+ .getResolutionScope(request.getPathScope().id())
+ .orElseThrow();
+ }
CollectRequest collectRequest = new CollectRequest()
.setRootArtifact(rootArtifact != null ? session.toArtifact(rootArtifact) : null)
.setRoot(root != null ? session.toDependency(root, false) : null)
.setDependencies(session.toDependencies(dependencies, false))
.setManagedDependencies(session.toDependencies(managedDependencies, true))
.setRepositories(session.toRepositories(remoteRepositories));
+ collectRequest.setResolutionScope(resolutionScope);
RepositorySystemSession systemSession = session.getSession();
if (request.getVerbose()) {
(END)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment