Author: rmannibucau Date: Wed Mar 20 13:46:28 2013 New Revision: 1458824 URL: http://svn.apache.org/r1458824 Log: keeping SNAPSHOT as version in jars.txt + sorting deps by name (more readable)
Modified: tomee/tomee/trunk/maven/jarstxt-maven-plugin/src/main/java/org/apache/openejb/maven/jarstxt/JarsTxtMojo.java Modified: tomee/tomee/trunk/maven/jarstxt-maven-plugin/src/main/java/org/apache/openejb/maven/jarstxt/JarsTxtMojo.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/maven/jarstxt-maven-plugin/src/main/java/org/apache/openejb/maven/jarstxt/JarsTxtMojo.java?rev=1458824&r1=1458823&r2=1458824&view=diff ============================================================================== --- tomee/tomee/trunk/maven/jarstxt-maven-plugin/src/main/java/org/apache/openejb/maven/jarstxt/JarsTxtMojo.java (original) +++ tomee/tomee/trunk/maven/jarstxt-maven-plugin/src/main/java/org/apache/openejb/maven/jarstxt/JarsTxtMojo.java Wed Mar 20 13:46:28 2013 @@ -42,6 +42,7 @@ import java.io.IOException; import java.net.URL; import java.util.List; import java.util.Set; +import java.util.TreeSet; @Mojo(name = "generate", threadSafe = true, requiresDependencyResolution = ResolutionScope.COMPILE_PLUS_RUNTIME, defaultPhase = LifecyclePhase.COMPILE) @@ -55,6 +56,9 @@ public class JarsTxtMojo extends Abstrac @Parameter(property = "hash") protected String hashAlgo; + @Parameter(property = "useTimeStamp", defaultValue = "false") + protected boolean useTimeStamp; + @Component protected ArtifactFactory factory; @@ -77,6 +81,8 @@ public class JarsTxtMojo extends Abstrac try { writer = new FileWriter(outputFile); + final TreeSet<String> set = new TreeSet<String>(); + for (final Artifact a : (Set<Artifact>) project.getArtifacts()) { if (!acceptScope(a.getScope()) || !acceptType(a.getType())) { continue; @@ -87,7 +93,7 @@ public class JarsTxtMojo extends Abstrac final StringBuilder line = new StringBuilder("mvn:") .append(a.getGroupId()).append("/") .append(a.getArtifactId()).append("/") - .append(a.getVersion()); + .append(version(a)); if (hashAlgo != null) { final Artifact artifact = factory.createDependencyArtifact(a.getGroupId(), a.getArtifactId(), VersionRange.createFromVersion(a.getVersion()), a.getType(), a.getClassifier(), a.getScope()); try { @@ -102,7 +108,12 @@ public class JarsTxtMojo extends Abstrac .append("|").append(hashAlgo); } - writer.write(line.toString()); + set.add(line.toString()); + } + + // written after to be sorted, more readable + for (final String line : set) { + writer.write(line); writer.write("\n"); } @@ -120,6 +131,13 @@ public class JarsTxtMojo extends Abstrac } } + private String version(final Artifact a) { + if (!useTimeStamp && a.getBaseVersion().endsWith("SNAPSHOT")) { + return a.getBaseVersion(); + } + return a.getVersion(); + } + private boolean acceptType(final String type) { return "jar".equals(type) || "zip".equals(type); }