From fe5b69220a1eeb85d7c4be386f3f6043a620c388 Mon Sep 17 00:00:00 2001 From: martin Date: Fri, 14 Feb 2020 16:20:53 +0100 Subject: [PATCH] new feateure: allow additional packaging type to set extension (and classifier) (eg. PackagingType.of("bundle", "jar", "")) --- .../resolver/api/maven/PackagingType.java | 10 +++++++++- .../resolver/api/maven/PackagingTypeTestCase.java | 13 +++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/maven/api-maven/src/main/java/org/jboss/shrinkwrap/resolver/api/maven/PackagingType.java b/maven/api-maven/src/main/java/org/jboss/shrinkwrap/resolver/api/maven/PackagingType.java index 4f50bb885..e9948471c 100644 --- a/maven/api-maven/src/main/java/org/jboss/shrinkwrap/resolver/api/maven/PackagingType.java +++ b/maven/api-maven/src/main/java/org/jboss/shrinkwrap/resolver/api/maven/PackagingType.java @@ -106,12 +106,20 @@ public String toString() { * Thrown if typeName is {@code null} or empty */ public static PackagingType of(String typeName) throws IllegalArgumentException { + return of(typeName, typeName, ""); + } + + public static PackagingType of(String typeName, String extension) throws IllegalArgumentException { + return of(typeName, extension, ""); + } + + public static PackagingType of(String typeName, String extension, String classifier) throws IllegalArgumentException { PackagingType packagingType = fromCache(typeName); if (packagingType != null){ return packagingType; } // this will cause packaging object to register into cache - return new PackagingType(typeName); + return new PackagingType(typeName, extension == null ? typeName : extension, classifier == null ? "" : classifier); } /** diff --git a/maven/api-maven/src/test/java/org/jboss/shrinkwrap/resolver/api/maven/PackagingTypeTestCase.java b/maven/api-maven/src/test/java/org/jboss/shrinkwrap/resolver/api/maven/PackagingTypeTestCase.java index c078a208e..d4cf06951 100644 --- a/maven/api-maven/src/test/java/org/jboss/shrinkwrap/resolver/api/maven/PackagingTypeTestCase.java +++ b/maven/api-maven/src/test/java/org/jboss/shrinkwrap/resolver/api/maven/PackagingTypeTestCase.java @@ -72,4 +72,17 @@ public void random() { Assert.assertEquals("random", PackagingType.of("random").toString()); } + @Test + public void bundle() { + final PackagingType packagingType = PackagingType.of("bundle", "jar"); + Assert.assertEquals("bundle", packagingType.toString()); + Assert.assertEquals("jar", packagingType.getExtension()); + Assert.assertEquals("", packagingType.getClassifier()); + + final PackagingType packagingType2 = PackagingType.of("bundle2", null, null); + Assert.assertEquals("bundle2", packagingType2.toString()); + Assert.assertEquals("bundle2", packagingType2.getExtension()); + Assert.assertEquals("", packagingType2.getClassifier()); + } + }