Updated Branches:
  refs/heads/karaf-2.x cf8ec8a70 -> bdfbcd137

[KARAF-2224] generate-features-xml mojo now supports classifier

git-svn-id: https://svn.apache.org/repos/asf/karaf/branches/karaf-2.3.x@1459281 
13f79535-47bb-0310-9956-ffa450edef68


Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/ee68cbe4
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/ee68cbe4
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/ee68cbe4

Branch: refs/heads/karaf-2.x
Commit: ee68cbe418ad43a074217bd6c3ba84e006194e82
Parents: cf8ec8a
Author: Jean-Baptiste Onofre <[email protected]>
Authored: Thu Mar 21 12:56:27 2013 +0000
Committer: Guillaume Nodet <[email protected]>
Committed: Wed Dec 18 12:55:21 2013 +0100

----------------------------------------------------------------------
 .../features/GenerateFeaturesXmlMojo.java        | 19 +++++++++++--------
 .../features/GenerateFeaturesXmlMojoTest.java    | 19 ++++++++++++++++++-
 2 files changed, 29 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/karaf/blob/ee68cbe4/tooling/features-maven-plugin/src/main/java/org/apache/karaf/tooling/features/GenerateFeaturesXmlMojo.java
----------------------------------------------------------------------
diff --git 
a/tooling/features-maven-plugin/src/main/java/org/apache/karaf/tooling/features/GenerateFeaturesXmlMojo.java
 
b/tooling/features-maven-plugin/src/main/java/org/apache/karaf/tooling/features/GenerateFeaturesXmlMojo.java
index 1891884..843d6c2 100644
--- 
a/tooling/features-maven-plugin/src/main/java/org/apache/karaf/tooling/features/GenerateFeaturesXmlMojo.java
+++ 
b/tooling/features-maven-plugin/src/main/java/org/apache/karaf/tooling/features/GenerateFeaturesXmlMojo.java
@@ -529,12 +529,19 @@ public class GenerateFeaturesXmlMojo extends MojoSupport {
         }
         return list;
     }
-    
+
     public static String toString(Artifact artifact) {
+        return toString(artifact, artifact.getVersion());
+    }
+
+    private static String toString(Artifact artifact, String version) {
+        if (artifact.hasClassifier()) {
+            return String.format("%s/%s/%s/%s/%s", artifact.getGroupId(), 
artifact.getArtifactId(), version, artifact.getType(), 
artifact.getClassifier());
+        }
         if (artifact.getType().equals("jar")) {
-            return String.format("%s/%s/%s", artifact.getGroupId(), 
artifact.getArtifactId(), artifact.getVersion());
+            return String.format("%s/%s/%s", artifact.getGroupId(), 
artifact.getArtifactId(), version);
         }
-        return String.format("%s/%s/%s/%s", artifact.getGroupId(), 
artifact.getArtifactId(), artifact.getVersion(), artifact.getType());
+        return String.format("%s/%s/%s/%s", artifact.getGroupId(), 
artifact.getArtifactId(), version, artifact.getType());
     }
 
     /*package*/ class Feature {
@@ -596,11 +603,7 @@ public class GenerateFeaturesXmlMojo extends MojoSupport {
                     out.println("    <feature version='"
                        + next.getBaseVersion() + "'>" + 
String.format("%s</feature>", next.getArtifactId()));
                 } else {
-                    if (next.getType().equals("jar")) {
-                        out.println(String.format("    
<bundle>mvn:%s/%s/%s</bundle>", next.getGroupId(), next.getArtifactId(), 
next.getBaseVersion()));
-                    } else {
-                        out.println(String.format("    
<bundle>mvn:%s/%s/%s/%s</bundle>", next.getGroupId(), next.getArtifactId(), 
next.getBaseVersion(), next.getType()));
-                    }
+                    out.println(String.format("    <bundle>mvn:%s</bundle>", 
GenerateFeaturesXmlMojo.toString(next, next.getBaseVersion())));
                 }
             }
             

http://git-wip-us.apache.org/repos/asf/karaf/blob/ee68cbe4/tooling/features-maven-plugin/src/test/java/org/apache/karaf/tooling/features/GenerateFeaturesXmlMojoTest.java
----------------------------------------------------------------------
diff --git 
a/tooling/features-maven-plugin/src/test/java/org/apache/karaf/tooling/features/GenerateFeaturesXmlMojoTest.java
 
b/tooling/features-maven-plugin/src/test/java/org/apache/karaf/tooling/features/GenerateFeaturesXmlMojoTest.java
index 21846d5..dd70d4c 100644
--- 
a/tooling/features-maven-plugin/src/test/java/org/apache/karaf/tooling/features/GenerateFeaturesXmlMojoTest.java
+++ 
b/tooling/features-maven-plugin/src/test/java/org/apache/karaf/tooling/features/GenerateFeaturesXmlMojoTest.java
@@ -50,11 +50,27 @@ public class GenerateFeaturesXmlMojoTest extends TestCase {
         expect(artifact.getArtifactId()).andReturn("test-artifact");
         expect(artifact.getVersion()).andReturn("1.2.3");
         expect(artifact.getType()).andReturn("jar");
+        expect(artifact.hasClassifier()).andReturn(false);
         
         replay(artifact);
         
         assertEquals("org.apache.karaf.test/test-artifact/1.2.3", 
GenerateFeaturesXmlMojo.toString(artifact));
-    } 
+    }
+
+    public void testToStringWithClassifier() throws Exception {
+        Artifact artifact = EasyMock.createMock(Artifact.class);
+
+        expect(artifact.getGroupId()).andReturn("org.apache.karaf.test");
+        expect(artifact.getArtifactId()).andReturn("test-artifact");
+        expect(artifact.getVersion()).andReturn("1.2.3");
+        expect(artifact.getType()).andReturn("zip").times(2);
+        expect(artifact.hasClassifier()).andReturn(true);
+        expect(artifact.getClassifier()).andReturn("linux");
+
+        replay(artifact);
+
+        assertEquals("org.apache.karaf.test/test-artifact/1.2.3/zip/linux", 
GenerateFeaturesXmlMojo.toString(artifact));
+    }
 
     public void testInstallMode() throws Exception {
        
@@ -65,6 +81,7 @@ public class GenerateFeaturesXmlMojoTest extends TestCase {
         expect(artifact.getBaseVersion()).andReturn("1.2.3").anyTimes();
         expect(artifact.getVersion()).andReturn("1.2.3").anyTimes();
         expect(artifact.getType()).andReturn("jar").anyTimes();
+        expect(artifact.hasClassifier()).andReturn(false).anyTimes();
         
         replay(artifact);
         

Reply via email to