You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by jb...@apache.org on 2013/03/21 13:56:30 UTC

svn commit: r1459281 - in /karaf/branches/karaf-2.3.x/tooling/features-maven-plugin/src: main/java/org/apache/karaf/tooling/features/GenerateFeaturesXmlMojo.java test/java/org/apache/karaf/tooling/features/GenerateFeaturesXmlMojoTest.java

Author: jbonofre
Date: Thu Mar 21 12:56:27 2013
New Revision: 1459281

URL: http://svn.apache.org/r1459281
Log:
[KARAF-2224] generate-features-xml mojo now supports classifier

Modified:
    karaf/branches/karaf-2.3.x/tooling/features-maven-plugin/src/main/java/org/apache/karaf/tooling/features/GenerateFeaturesXmlMojo.java
    karaf/branches/karaf-2.3.x/tooling/features-maven-plugin/src/test/java/org/apache/karaf/tooling/features/GenerateFeaturesXmlMojoTest.java

Modified: karaf/branches/karaf-2.3.x/tooling/features-maven-plugin/src/main/java/org/apache/karaf/tooling/features/GenerateFeaturesXmlMojo.java
URL: http://svn.apache.org/viewvc/karaf/branches/karaf-2.3.x/tooling/features-maven-plugin/src/main/java/org/apache/karaf/tooling/features/GenerateFeaturesXmlMojo.java?rev=1459281&r1=1459280&r2=1459281&view=diff
==============================================================================
--- karaf/branches/karaf-2.3.x/tooling/features-maven-plugin/src/main/java/org/apache/karaf/tooling/features/GenerateFeaturesXmlMojo.java (original)
+++ karaf/branches/karaf-2.3.x/tooling/features-maven-plugin/src/main/java/org/apache/karaf/tooling/features/GenerateFeaturesXmlMojo.java Thu Mar 21 12:56:27 2013
@@ -529,12 +529,19 @@ public class GenerateFeaturesXmlMojo ext
         }
         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 ext
                     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())));
                 }
             }
             

Modified: karaf/branches/karaf-2.3.x/tooling/features-maven-plugin/src/test/java/org/apache/karaf/tooling/features/GenerateFeaturesXmlMojoTest.java
URL: http://svn.apache.org/viewvc/karaf/branches/karaf-2.3.x/tooling/features-maven-plugin/src/test/java/org/apache/karaf/tooling/features/GenerateFeaturesXmlMojoTest.java?rev=1459281&r1=1459280&r2=1459281&view=diff
==============================================================================
--- karaf/branches/karaf-2.3.x/tooling/features-maven-plugin/src/test/java/org/apache/karaf/tooling/features/GenerateFeaturesXmlMojoTest.java (original)
+++ karaf/branches/karaf-2.3.x/tooling/features-maven-plugin/src/test/java/org/apache/karaf/tooling/features/GenerateFeaturesXmlMojoTest.java Thu Mar 21 12:56:27 2013
@@ -50,11 +50,27 @@ public class GenerateFeaturesXmlMojoTest
         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
         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);