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


Reply via email to