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

elharo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven-archiver.git


The following commit(s) were added to refs/heads/master by this push:
     new a01ee0a  fix: avoid unnecessary dependency resolution for 
addExtensions (#380)
a01ee0a is described below

commit a01ee0a15f559455ccba77fc9006b2956a08a81e
Author: Harsh Mehta <[email protected]>
AuthorDate: Fri Jul 3 17:47:29 2026 +0530

    fix: avoid unnecessary dependency resolution for addExtensions (#380)
    
    Signed-off-by: Harsh Mehta <[email protected]>
---
 .../apache/maven/shared/archiver/MavenArchiver.java |  2 +-
 .../maven/shared/archiver/MavenArchiverTest.java    | 21 +++++++++++++++++++++
 2 files changed, 22 insertions(+), 1 deletion(-)

diff --git a/src/main/java/org/apache/maven/shared/archiver/MavenArchiver.java 
b/src/main/java/org/apache/maven/shared/archiver/MavenArchiver.java
index cbab812..fe7429a 100644
--- a/src/main/java/org/apache/maven/shared/archiver/MavenArchiver.java
+++ b/src/main/java/org/apache/maven/shared/archiver/MavenArchiver.java
@@ -253,7 +253,7 @@ public class MavenArchiver {
         }
 
         DependencyResolverResult result;
-        if (config.isAddClasspath() || config.isAddExtensions()) {
+        if (config.isAddClasspath()) {
             result = 
session.getService(DependencyResolver.class).resolve(session, project, 
PathScope.MAIN_RUNTIME);
         } else {
             result = null;
diff --git 
a/src/test/java/org/apache/maven/shared/archiver/MavenArchiverTest.java 
b/src/test/java/org/apache/maven/shared/archiver/MavenArchiverTest.java
index e27b76e..7264763 100644
--- a/src/test/java/org/apache/maven/shared/archiver/MavenArchiverTest.java
+++ b/src/test/java/org/apache/maven/shared/archiver/MavenArchiverTest.java
@@ -76,6 +76,8 @@ import static 
org.assertj.core.api.Assertions.assertThatExceptionOfType;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
 class MavenArchiverTest {
@@ -1435,4 +1437,23 @@ class MavenArchiverTest {
         long entryTime = testReproducibleJarEntryTime("1970", "10");
         assertThat(entryTime).isGreaterThanOrEqualTo(0);
     }
+
+    @Test
+    void addExtensionsAloneDoesNotTriggerDependencyResolution() throws 
Exception {
+        MavenArchiver archiver = new MavenArchiver();
+
+        ProjectStub project = new ProjectStub();
+        project.setModel(Model.newBuilder().artifactId("dummy").build());
+
+        ManifestConfiguration manifestConfig = new ManifestConfiguration();
+        manifestConfig.setAddExtensions(true);
+        manifestConfig.setAddClasspath(false);
+
+        MavenArchiveConfiguration archiveConfiguration = new 
MavenArchiveConfiguration();
+        archiveConfiguration.setManifest(manifestConfig);
+
+        archiver.getManifest(session, project, archiveConfiguration);
+
+        verify(dependencyResolver, never()).resolve(any(), any(Project.class), 
any());
+    }
 }

Reply via email to