You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by db...@apache.org on 2012/01/25 22:37:49 UTC

svn commit: r1235962 - in /openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release: Release.java cmd/UpdateVersions.java

Author: dblevins
Date: Wed Jan 25 21:37:49 2012
New Revision: 1235962

URL: http://svn.apache.org/viewvc?rev=1235962&view=rev
Log:
A rough sketch of what updating the versions would look like

Added:
    openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/UpdateVersions.java
      - copied, changed from r1234743, openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/Tck.java
Modified:
    openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/Release.java

Modified: openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/Release.java
URL: http://svn.apache.org/viewvc/openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/Release.java?rev=1235962&r1=1235961&r2=1235962&view=diff
==============================================================================
--- openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/Release.java (original)
+++ openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/Release.java Wed Jan 25 21:37:49 2012
@@ -16,6 +16,7 @@
  */
 package org.apache.openejb.tools.release;
 
+import com.sun.xml.internal.bind.v2.runtime.Location;
 import org.apache.openejb.tools.release.util.Files;
 import org.apache.openejb.tools.release.util.Options;
 
@@ -30,6 +31,7 @@ public class Release {
     public static String openejbVersion = "openejb-4.0.0-beta-2";
     public static String tomeeVersion = "tomee-1.0.0-beta-2";
 
+    public static String trunk = "https://svn.apache.org/repos/asf/openejb/trunk/openejb/";
     public static String branches = "https://svn.apache.org/repos/asf/openejb/branches/";
     public static String tags = "https://svn.apache.org/repos/asf/openejb/tags/";
     public static String tckBranches = "https://svn.apache.org/repos/tck/openejb-tck/branches/";

Copied: openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/UpdateVersions.java (from r1234743, openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/Tck.java)
URL: http://svn.apache.org/viewvc/openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/UpdateVersions.java?p2=openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/UpdateVersions.java&p1=openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/Tck.java&r1=1234743&r2=1235962&rev=1235962&view=diff
==============================================================================
--- openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/Tck.java (original)
+++ openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/UpdateVersions.java Wed Jan 25 21:37:49 2012
@@ -20,115 +20,64 @@ import org.apache.openejb.tools.release.
 import org.apache.openejb.tools.release.Release;
 import org.apache.openejb.tools.release.util.Files;
 import org.apache.openejb.tools.release.util.IO;
-import org.codehaus.swizzle.stream.DelimitedTokenReplacementInputStream;
 import org.codehaus.swizzle.stream.ReplaceStringInputStream;
-import org.codehaus.swizzle.stream.StringTokenHandler;
 
 import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
+import java.util.List;
 
 import static java.lang.String.format;
 import static org.apache.openejb.tools.release.util.Exec.cd;
 import static org.apache.openejb.tools.release.util.Exec.exec;
+import static org.apache.openejb.tools.release.util.Files.collect;
 
 /**
  * @version $Rev$ $Date$
  */
 @Command(dependsOn = Close.class)
-public class Tck {
+public class UpdateVersions {
 
     public static void main(String... args) throws Exception {
 
-        // https://svn.apache.org/repos/tck/openejb-tck/branches/tomee-1.0.0-beta-2
-
-        final File dir = new File("/tmp/release/tck");
+        final File dir = new File("/tmp/release/branch");
         Files.mkdir(dir);
 
         cd(dir);
 
-        final String branch = Release.tckBranches + Release.tomeeVersion;
+        final String branch = Release.branches + Release.openejbVersion;
 
         // Make the branch
         if (exec("svn", "info", branch) != 0) {
 
-            exec("svn", "-m", format("[release-tools] tck branch for %s", Release.tomeeVersion), "cp", Release.tckTrunk.toString(), branch);
+            exec("svn", "-m", format("[release-tools] tck branch for %s", Release.openejbVersion), "cp", Release.trunk, branch);
         }
 
         // Checkout the branch
         exec("svn", "co", branch);
 
-        final File tck = cd(new File(dir + "/" + Release.tomeeVersion));
-
-        updatePom(Release.staging, new File(tck, "pom.xml"));
-
-        updateWebProfile(branch, tck, Release.tomeeVersion);
-
-        exec("svn", "-m", "[release-tools] update staging repo for " + Release.tomeeVersion, "ci");
-    }
-
-    private static void updateWebProfile(final String branch, final File dir, String version) throws IOException {
-        final File properties = new File(dir, "webprofile.properties");
-
-        InputStream in = IO.read(properties);
-        in = replaceProperty(in, "project.scmUrl", String.format("scm:svn:%s", branch));
-        in = replaceProperty(in, "project.version", version);
+        final File workingCopy = cd(new File(dir + "/" + Release.openejbVersion));
 
-        update(properties, in);
-    }
+        updateVersions(workingCopy);
 
-    private static DelimitedTokenReplacementInputStream replaceProperty(InputStream in, final String property, final String value) {
-        final String n = System.getProperty("line.separator");
-        return new DelimitedTokenReplacementInputStream(in, property, n, new StringTokenHandler() {
-            @Override
-            public String handleToken(String token) throws IOException {
-                return String.format("%s = %s%s", property, value, n);
-            }
-        });
+        exec("svn", "-m", "[release-tools] update staging repo for " + Release.openejbVersion, "ci");
     }
 
-    private static void updatePom(String staging, File pom) throws IOException {
+    private static void updateVersions(File workingCopy) throws IOException {
 
-        System.out.println(pom.getAbsolutePath());
+        final List<File> files = collect(workingCopy, ".*pom.xml");
+        files.addAll(collect(workingCopy, ".*build.xml"));
 
-        final String n = System.getProperty("line.separator");
+        for (File file : files) {
+            InputStream in = IO.read(file);
 
-        final String repositoryDefinition = "    <repository>" + n +
-                "      <id>nexus-staging</id>" + n +
-                "      <name>Nexus Staging Repository</name>" + n +
-                "      <url>" + staging + "</url>" + n +
-                "      <layout>default</layout>" + n +
-                "      <snapshots>" + n +
-                "        <enabled>false</enabled>" + n +
-                "      </snapshots>" + n +
-                "      <releases>" + n +
-                "        <enabled>true</enabled>" + n +
-                "        <checksumPolicy>ignore</checksumPolicy>" + n +
-                "      </releases>" + n +
-                "    </repository>";
-
-        InputStream in = IO.read(pom);
-
-        // Yank any existing nexus-staging repo
-        in = new DelimitedTokenReplacementInputStream(in, "<repository>", "</repository>", new StringTokenHandler() {
-            @Override
-            public String handleToken(String token) throws IOException {
-                if (token.contains("<id>nexus-staging</id>")) {
-                    return "";
-                }
-
-                return "<repository>" + token + "</repository>";
-            }
-        });
+            in = new ReplaceStringInputStream(in, "1.0.0-beta-2-SNAPSHOT", "1.0.0-beta-3-SNAPSHOT");
+            in = new ReplaceStringInputStream(in, "4.0.0-beta-2-SNAPSHOT", "4.0.0-beta-3-SNAPSHOT");
 
-        // add the new one
-        in = new ReplaceStringInputStream(in, "<repositories>", "<repositories>" + n + repositoryDefinition);
-
-        // Yank SNAPSHOT
-        in = new ReplaceStringInputStream(in, "-SNAPSHOT", "");
+            update(file, in);
+        }
 
-        update(pom, in);
     }
 
     private static void update(File dest, InputStream in) throws IOException {