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