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");