This is an automated email from the git hooks/post-receive script. ebourg-guest pushed a commit to branch master in repository maven-repo-helper.
commit fb00f2bd6976b2cbce7936202a2e1382e5589cfc Author: Emmanuel Bourg <[email protected]> Date: Thu Jun 30 00:29:22 2016 +0200 Updated POMOptions to support the --relocate option --- .../java/org/debian/maven/repo/POMOptions.java | 39 ++++++++++++++++++++++ .../java/org/debian/maven/repo/POMOptionsTest.java | 22 ++++++++++++ 2 files changed, 61 insertions(+) diff --git a/src/main/java/org/debian/maven/repo/POMOptions.java b/src/main/java/org/debian/maven/repo/POMOptions.java index d0e9657..e55f247 100644 --- a/src/main/java/org/debian/maven/repo/POMOptions.java +++ b/src/main/java/org/debian/maven/repo/POMOptions.java @@ -16,6 +16,8 @@ package org.debian.maven.repo; +import java.util.ArrayList; +import java.util.List; import java.util.StringTokenizer; /** @@ -38,6 +40,12 @@ public class POMOptions { private String classifier; private String siteXml; + /** + * Comma separated list of Maven coordinates relocated to this artifact. + * Example: foo:bar:1.x,org.foo:bar-core:debian + */ + private String relocate; + public boolean isIgnore() { return ignore; } @@ -150,6 +158,32 @@ public class POMOptions { this.siteXml = siteXml; } + public String getRelocate() { + return relocate; + } + + public void setRelocate(String relocate) { + this.relocate = relocate; + } + + public List<Dependency> getRelocatedArtifacts() { + List<Dependency> artifacts = new ArrayList<Dependency>(); + if (relocate != null) { + for (String element : relocate.split(",")) { + String[] coordinates = element.split(":"); + if (coordinates.length < 2) { + throw new IllegalArgumentException("Malformed relocated artifact: " + element); + } + String groupId = coordinates[0]; + String artifactId = coordinates[1]; + String version = coordinates.length >= 3 ? coordinates[2] : "debian"; + artifacts.add(new Dependency(groupId, artifactId, null, version)); + } + } + + return artifacts; + } + public static POMOptions parse(String line) { StringTokenizer st = new StringTokenizer(line, " \t"); @@ -185,6 +219,8 @@ public class POMOptions { options.setClassifier(option.substring("--classifier=".length())); } else if (option.startsWith("--site-xml=")) { options.setSiteXml(option.substring("--site-xml=".length())); + } else if (option.startsWith("--relocate=")) { + options.setRelocate(option.substring("--relocate=".length())); } else if ("--ignore-pom".equals(option)) { options.setIgnorePOM(true); } @@ -234,6 +270,9 @@ public class POMOptions { if (siteXml != null) { options += " --site-xml=" + siteXml; } + if (relocate != null) { + options += " --relocate=" + relocate; + } if (ignorePOM) { options += " --ignore-pom"; } diff --git a/src/test/java/org/debian/maven/repo/POMOptionsTest.java b/src/test/java/org/debian/maven/repo/POMOptionsTest.java index 0c0dc7b..51826c9 100644 --- a/src/test/java/org/debian/maven/repo/POMOptionsTest.java +++ b/src/test/java/org/debian/maven/repo/POMOptionsTest.java @@ -16,6 +16,8 @@ package org.debian.maven.repo; +import java.util.List; + import org.junit.Test; import static org.junit.Assert.*; @@ -37,6 +39,26 @@ public class POMOptionsTest { } @Test + public void testParseRelocate() { + POMOptions options = POMOptions.parse("--relocate=foo:bar:1.x,org.foo:bar-core"); + assertNotNull("relocate is null", options.getRelocate()); + + List<Dependency> relocatedArtifacts = options.getRelocatedArtifacts(); + assertNotNull("relocated artifacts is null", relocatedArtifacts); + assertEquals("number of artifacts", 2, relocatedArtifacts.size()); + + Dependency dependency = relocatedArtifacts.get(0); + assertEquals("relocated artifact 1 groupId", "foo", dependency.getGroupId()); + assertEquals("relocated artifact 1 artifactId", "bar", dependency.getArtifactId()); + assertEquals("relocated artifact 1 version", "1.x", dependency.getVersion()); + + dependency = relocatedArtifacts.get(1); + assertEquals("relocated artifact 2 groupId", "org.foo", dependency.getGroupId()); + assertEquals("relocated artifact 2 artifactId", "bar-core", dependency.getArtifactId()); + assertEquals("relocated artifact 2 version", "debian", dependency.getVersion()); + } + + @Test public void testOptionsToString() { POMOptions options = new POMOptions(); options.setIgnore(true); -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/maven-repo-helper.git _______________________________________________ pkg-java-commits mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-commits

