This is an automated email from the ASF dual-hosted git repository.

cstamas pushed a commit to branch issuse-1598
in repository https://gitbox.apache.org/repos/asf/maven-dependency-plugin.git

commit bbdf514162a8a2db70f5b418dbbcc89b0a710159
Author: Tamas Cservenak <[email protected]>
AuthorDate: Mon May 18 21:39:56 2026 +0200

    Bugfix: false positives in analyze-exclusions
    
    Fixes #1598
---
 .../plugins/dependency/exclusion/AnalyzeExclusionsMojo.java |  3 ++-
 .../apache/maven/plugins/dependency/utils/ResolverUtil.java | 13 +++++++++++++
 .../dependency/exclusion/AnalyzeExclusionsMojoTest.java     |  4 ++--
 3 files changed, 17 insertions(+), 3 deletions(-)

diff --git 
a/src/main/java/org/apache/maven/plugins/dependency/exclusion/AnalyzeExclusionsMojo.java
 
b/src/main/java/org/apache/maven/plugins/dependency/exclusion/AnalyzeExclusionsMojo.java
index 16450505..145d8a8f 100644
--- 
a/src/main/java/org/apache/maven/plugins/dependency/exclusion/AnalyzeExclusionsMojo.java
+++ 
b/src/main/java/org/apache/maven/plugins/dependency/exclusion/AnalyzeExclusionsMojo.java
@@ -144,7 +144,8 @@ public class AnalyzeExclusionsMojo extends AbstractMojo {
 
             Collection<org.eclipse.aether.graph.Dependency> actualDependencies;
             try {
-                actualDependencies = resolverUtil.collectDependencies(
+                actualDependencies = 
resolverUtil.collectDependenciesWithDirectDependencies(
+                        null,
                         
RepositoryUtils.toDependency(currentCoordinates.getDependency(), 
artifactTypeRegistry)
                                 .setExclusions(null));
             } catch (DependencyCollectionException e) {
diff --git 
a/src/main/java/org/apache/maven/plugins/dependency/utils/ResolverUtil.java 
b/src/main/java/org/apache/maven/plugins/dependency/utils/ResolverUtil.java
index e135b47a..253f16df 100644
--- a/src/main/java/org/apache/maven/plugins/dependency/utils/ResolverUtil.java
+++ b/src/main/java/org/apache/maven/plugins/dependency/utils/ResolverUtil.java
@@ -24,6 +24,7 @@ import javax.inject.Provider;
 import javax.inject.Singleton;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.LinkedHashSet;
@@ -86,11 +87,23 @@ public class ResolverUtil {
      * @return a resolved dependencies collections
      */
     public Collection<Dependency> collectDependencies(Dependency root) throws 
DependencyCollectionException {
+        return collectDependenciesWithDirectDependencies(root);
+    }
+
+    /**
+     * Collects the transitive dependencies.
+     *
+     * @param root a root dependency for collections
+     * @return a resolved dependencies collections
+     */
+    public Collection<Dependency> 
collectDependenciesWithDirectDependencies(Dependency root, Dependency... 
dependencies)
+            throws DependencyCollectionException {
 
         MavenSession session = mavenSessionProvider.get();
 
         CollectRequest request =
                 new CollectRequest(root, 
session.getCurrentProject().getRemoteProjectRepositories());
+        Arrays.stream(dependencies).forEach(request::addDependency);
         CollectResult result = 
repositorySystem.collectDependencies(session.getRepositorySession(), request);
 
         PreorderNodeListGenerator nodeListGenerator = new 
PreorderNodeListGenerator();
diff --git 
a/src/test/java/org/apache/maven/plugins/dependency/exclusion/AnalyzeExclusionsMojoTest.java
 
b/src/test/java/org/apache/maven/plugins/dependency/exclusion/AnalyzeExclusionsMojoTest.java
index 95616bfd..0fdb60ca 100644
--- 
a/src/test/java/org/apache/maven/plugins/dependency/exclusion/AnalyzeExclusionsMojoTest.java
+++ 
b/src/test/java/org/apache/maven/plugins/dependency/exclusion/AnalyzeExclusionsMojoTest.java
@@ -139,7 +139,7 @@ class AnalyzeExclusionsMojoTest {
         dependencyWithWildcardExclusion.addExclusion(exclusion("*", "*"));
         
when(project.getDependencies()).thenReturn(Collections.singletonList(dependencyWithWildcardExclusion));
 
-        when(resolverUtil.collectDependencies(any()))
+        when(resolverUtil.collectDependenciesWithDirectDependencies(any(), 
any()))
                 .thenReturn(Collections.singletonList(new 
org.eclipse.aether.graph.Dependency(
                         new DefaultArtifact("whatever", "ok", "jar", "1.0"), 
"")));
 
@@ -168,7 +168,7 @@ class AnalyzeExclusionsMojoTest {
         dependencies.add(dependency);
         when(project.getDependencies()).thenReturn(dependencies);
 
-        when(resolverUtil.collectDependencies(any()))
+        when(resolverUtil.collectDependenciesWithDirectDependencies(any(), 
any()))
                 .thenReturn(Collections.singletonList(
                         new org.eclipse.aether.graph.Dependency(new 
DefaultArtifact("ok", "ok", "jar", "1.0"), "")));
 

Reply via email to