You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by sl...@apache.org on 2026/10/19 13:37:51 UTC

(maven-dependency-plugin) 04/04: [MDEP-574] Fall back to the jar type when a node has no type

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

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

commit 42350c08719482df2f8c97a8ba14768c1488d62c
Author: Sylwester Lachiewicz <sl...@apache.org>
AuthorDate: Tue Oct 13 23:57:10 2026 +0200

    [MDEP-574] Fall back to the jar type when a node has no type
---
 .../maven/plugins/dependency/PurgeLocalRepositoryMojo.java     |  3 ++-
 .../maven/plugins/dependency/PurgeLocalRepositoryMojoTest.java | 10 ++++++++++
 2 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/src/main/java/org/apache/maven/plugins/dependency/PurgeLocalRepositoryMojo.java b/src/main/java/org/apache/maven/plugins/dependency/PurgeLocalRepositoryMojo.java
index 0047bf0e..67ac4cb3 100644
--- a/src/main/java/org/apache/maven/plugins/dependency/PurgeLocalRepositoryMojo.java
+++ b/src/main/java/org/apache/maven/plugins/dependency/PurgeLocalRepositoryMojo.java
@@ -297,7 +297,8 @@ public class PurgeLocalRepositoryMojo extends AbstractMojo {
                 return false;
             }
 
-            String type = dependency.getType();
+            // a node without a type property falls back to the default type and extension
+            String type = dependency.getType() != null ? dependency.getType() : "jar";
             ArtifactType artifactType =
                     session.getRepositorySession().getArtifactTypeRegistry().get(type);
             String extension = artifactType != null ? artifactType.getExtension() : type;
diff --git a/src/test/java/org/apache/maven/plugins/dependency/PurgeLocalRepositoryMojoTest.java b/src/test/java/org/apache/maven/plugins/dependency/PurgeLocalRepositoryMojoTest.java
index 4f84e53f..57503444 100644
--- a/src/test/java/org/apache/maven/plugins/dependency/PurgeLocalRepositoryMojoTest.java
+++ b/src/test/java/org/apache/maven/plugins/dependency/PurgeLocalRepositoryMojoTest.java
@@ -237,6 +237,16 @@ class PurgeLocalRepositoryMojoTest {
                 .isFalse();
     }
 
+    @Test
+    void nodeWithoutTypePropertyFallsBackToTheExtension() throws Exception {
+        DependencyFilter filter = purgeFilterFor("include", "org.example:lib:jar");
+        // a plain artifact has no "type" property
+        DefaultDependencyNode untyped =
+                new DefaultDependencyNode(new Dependency(new DefaultArtifact("org.example:lib:jar:1.0"), "compile"));
+
+        assertThat(filter.accept(untyped, Collections.emptyList())).isTrue();
+    }
+
     @Test
     void excludeMatchesCustomArtifactType() throws Exception {
         DependencyFilter filter = purgeFilterFor("exclude", "org.example:custom-lib:custom");