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/30 03:53:36 UTC
svn commit: r1237535 - in /openejb/trunk/sandbox/release-tools/src/main:
java/org/apache/openejb/tools/release/
java/org/apache/openejb/tools/release/cmd/
java/org/apache/openejb/tools/release/util/ resources/
Author: dblevins
Date: Mon Jan 30 02:53:35 2012
New Revision: 1237535
URL: http://svn.apache.org/viewvc?rev=1237535&view=rev
Log:
Slight refactoring. Tweaked the version update code and used it on trunk
Added:
openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/AdvanceVersions.java
- copied, changed from r1237134, openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/UpdateVersions.java
openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/util/ObjectMap.java
openejb/trunk/sandbox/release-tools/src/main/resources/promote.txt
Modified:
openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/Release.java
openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/AddVersion.java
openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/Binaries.java
openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/CloseJiras.java
openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/Deploy.java
openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/ReviewCommits.java
openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/Tag.java
openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/Tck.java
openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/UpdateVersions.java
openejb/trunk/sandbox/release-tools/src/main/resources/release-notes.vm
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=1237535&r1=1237534&r2=1237535&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 Mon Jan 30 02:53:35 2012
@@ -16,59 +16,189 @@
*/
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.ObjectMap;
import org.apache.openejb.tools.release.util.Options;
import java.io.File;
-import java.lang.reflect.Field;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
/**
* @version $Rev$ $Date$
*/
public class Release {
- public static String openejbSimpleVersion = "4.0.0-beta-2";
- public static String tomeeSimpleVersion = "1.0.0-beta-2";
- public static String openejbVersion = "openejb-" + openejbSimpleVersion;
- public static String tomeeVersion = "tomee-" + tomeeSimpleVersion;
+ public static String openejbVersion = "4.0.0-beta-2";
+ public static String tomeeVersion = "1.0.0-beta-2";
+
+ public static String openejbVersionName = "openejb-${openejbVersion}";
+ public static String tomeeVersionName = "tomee-${tomeeVersion}";
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/";
public static String tckTrunk = "https://svn.apache.org/repos/tck/openejb-tck/trunk";
- public static String staging = "https://repository.apache.org/content/repositories/orgapacheopenejb-075";
+
+ public static String staging = "https://repository.apache.org/content/repositories/orgapacheopenejb-${build}";
+ public static String build = "075";
+
+
public static String builddir = "/tmp/downloads";
public static String workdir = "/tmp/release";
+
public static String mavenOpts = "-Xmx2048m -XX:MaxPermSize=1024m";
- public static String from = "dblevins@apache.org";
- // public static String to = from;
- public static String to = "dev@openejb.apache.org";
+
public static String user = System.getProperty("user.name");
- public static String build = "075";
+ public static String to = "dev@openejb.apache.org";
+ public static String from = "${user}@apache.org";
+
public static String lastReleaseDate = "2011-10-05";
+ private static final Pattern PATTERN = Pattern.compile("(\\$\\{)(\\w+)(})");
+
+
static {
final File public_html = Files.file(System.getProperty("user.home"), "public_html");
- if (public_html.exists()) {
+ if (public_html.exists()) {
builddir = public_html.getAbsolutePath();
}
final Options options = new Options(System.getProperties());
- for (Field field : Release.class.getFields()) {
- try {
- final Object value = options.get(field.getName(), field.get(null));
- field.set(null, value);
- } catch (IllegalAccessException e) {
- e.printStackTrace();
+ final Map<String, Object> map = map();
+
+ boolean interpolating = true;
+ while (interpolating) {
+ interpolating = false;
+ for (Map.Entry<String, Object> entry : map.entrySet()) {
+ final Object value = options.get(entry.getKey(), entry.getValue());
+
+ final String raw = value.toString();
+ final String formatted = format(raw, map);
+ if (!raw.equals(formatted)) interpolating = true;
+
+ entry.setValue(formatted);
}
}
+ }
+
+ public static void main(String[] args) {
+ for (Map.Entry<String, Object> entry : map().entrySet()) {
+ System.out.printf("%s = %s\n", entry.getKey(), entry.getValue());
+ }
+ }
- build = Release.staging.replaceAll(".*-", "");
+ static String format(String input, Map<String, Object> map) {
+ Matcher matcher = PATTERN.matcher(input);
+ StringBuffer buf = new StringBuffer();
+ while (matcher.find()) {
+ String key = matcher.group(2);
+ Object value = map.get(key);
+ if (value != null) {
+ try {
+ matcher.appendReplacement(buf, value.toString());
+ } catch (Exception e) {
+ }
+ }
+ }
+ matcher.appendTail(buf);
+ return buf.toString();
}
+ public static Map<String, Object> map() {
+ return new ObjectMap(Release.class);
+
+
+
+// @Override
+// public int size() {
+// return clazz.getFields().length;
+// }
+//
+// @Override
+// public boolean isEmpty() {
+// return false;
+// }
+//
+// @Override
+// public boolean containsKey(Object key) {
+// try {
+// clazz.getField(key.toString());
+// return true;
+// } catch (NoSuchFieldException e) {
+// return false;
+// }
+// }
+//
+// @Override
+// public boolean containsValue(Object value) {
+// return false;
+// }
+//
+// @Override
+// public Object get(Object key) {
+// try {
+// final Field field = clazz.getField(key.toString());
+// return field.get(object);
+// } catch (Exception e) {
+// return null;
+// }
+// }
+//
+// @Override
+// public Object put(String key, Object value) {
+// try {
+// final Object original = get(key);
+//
+// final Field field = clazz.getField(key);
+// field.set(object, value);
+//
+// return original;
+// } catch (Exception e) {
+// return null;
+// }
+// }
+//
+// @Override
+// public String remove(Object key) {
+// throw new UnsupportedOperationException();
+// }
+//
+// @Override
+// public void putAll(Map<? extends String, ? extends Object> m) {
+// for (Map.Entry<? extends String, ? extends Object> entry : m.entrySet()) {
+// put(entry.getKey(), entry.getValue());
+// }
+// }
+//
+// @Override
+// public void clear() {
+// throw new UnsupportedOperationException();
+// }
+//
+// @Override
+// public Set<String> keySet() {
+// return null;
+// }
+//
+// @Override
+// public Collection<Object> values() {
+// return null;
+// }
+//
+// @Override
+// public Set<Map.Entry<String, Object>> entrySet() {
+// return null;
+// }
+//
+// public static class FieldSet implements Set<Map.Entry<String, Object>> {
+//
+// }
+ }
}
Modified: openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/AddVersion.java
URL: http://svn.apache.org/viewvc/openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/AddVersion.java?rev=1237535&r1=1237534&r2=1237535&view=diff
==============================================================================
--- openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/AddVersion.java (original)
+++ openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/AddVersion.java Mon Jan 30 02:53:35 2012
@@ -72,12 +72,12 @@ public class AddVersion {
replaceSnapshot = true;
}
- final File workingDir = new File(Release.builddir, Release.openejbVersion);
+ final File workingDir = new File(Release.builddir, Release.openejbVersionName);
final String[][] replacements = new String[][] {
- new String[] { currentVersion(Release.openejbSimpleVersion, replaceSnapshot),
- nextVersion("openejb next version", Release.openejbSimpleVersion, replaceSnapshot, setSnapshot) },
- new String[] { currentVersion(Release.tomeeSimpleVersion, replaceSnapshot),
- nextVersion("openejb next version", Release.tomeeSimpleVersion, replaceSnapshot, setSnapshot) }
+ new String[] { currentVersion(Release.openejbVersion, replaceSnapshot),
+ nextVersion("openejb next version", Release.openejbVersion, replaceSnapshot, setSnapshot) },
+ new String[] { currentVersion(Release.tomeeVersion, replaceSnapshot),
+ nextVersion("openejb next version", Release.tomeeVersion, replaceSnapshot, setSnapshot) }
};
// we hardcode the tomee or openejb version in some java, properties, pom (of course ;))...so simply take eveything we can
Copied: openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/AdvanceVersions.java (from r1237134, openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/UpdateVersions.java)
URL: http://svn.apache.org/viewvc/openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/AdvanceVersions.java?p2=openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/AdvanceVersions.java&p1=openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/UpdateVersions.java&r1=1237134&r2=1237535&rev=1237535&view=diff
==============================================================================
--- openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/UpdateVersions.java (original)
+++ openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/AdvanceVersions.java Mon Jan 30 02:53:35 2012
@@ -21,12 +21,16 @@ import org.apache.openejb.tools.release.
import org.apache.openejb.tools.release.util.Files;
import org.apache.openejb.tools.release.util.IO;
import org.codehaus.swizzle.stream.ReplaceStringInputStream;
+import org.codehaus.swizzle.stream.StreamLexer;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
+import java.util.ArrayList;
+import java.util.HashSet;
import java.util.List;
+import java.util.Set;
import static java.lang.String.format;
import static org.apache.openejb.tools.release.util.Exec.cd;
@@ -37,31 +41,52 @@ import static org.apache.openejb.tools.r
* @version $Rev$ $Date$
*/
@Command(dependsOn = Close.class)
-public class UpdateVersions {
+public class AdvanceVersions {
public static void main(String... args) throws Exception {
- final File dir = new File("/tmp/release/branch");
+ final File dir = new File(Release.workdir);
Files.mkdir(dir);
cd(dir);
- final String branch = Release.branches + Release.openejbVersion;
+ exec("svn", "co", Release.trunk);
- // Make the branch
- if (exec("svn", "info", branch) != 0) {
+ final File workingCopy = cd(new File(dir + File.separator + "openejb"));
- exec("svn", "-m", format("[release-tools] tck branch for %s", Release.openejbVersion), "cp", Release.trunk, branch);
+ final Set<String> versions = collectVersions(workingCopy);
+
+ for (String version : versions) {
+ System.out.println(version);
}
- // Checkout the branch
- exec("svn", "co", branch);
+ updateVersions(workingCopy);
- final File workingCopy = cd(new File(dir + "/" + Release.openejbVersion));
+// exec("svn", "-m", "[release-tools] update staging repo for " + Release.openejbVersionName, "ci");
+ }
- updateVersions(workingCopy);
+ private static Set<String> collectVersions(File workingCopy) throws IOException {
+ Set<String> versions = new HashSet<String>();
+
+
+ final List<File> files = collect(workingCopy, ".*pom.xml");
- exec("svn", "-m", "[release-tools] update staging repo for " + Release.openejbVersion, "ci");
+ for (File file : files) {
+ final InputStream read = IO.read(file);
+ final StreamLexer lexer = new StreamLexer(read);
+
+ while (lexer.readAndMark("<dependency>", "</dependency>")) {
+ final String groupId = lexer.peek("<groupId>", "</groupId>");
+ final String artifactId = lexer.peek("<artifactId>", "</artifactId>");
+ final String version = lexer.peek("<version>", "</version>");
+ lexer.unmark();
+ if (version != null && version.contains("-SNAPSHOT")) versions.add(String.format("%s:%s:%s", groupId, artifactId, version));
+ }
+
+ read.close();
+ }
+
+ return versions;
}
private static void updateVersions(File workingCopy) throws IOException {
@@ -72,8 +97,12 @@ public class UpdateVersions {
for (File file : files) {
InputStream in = IO.read(file);
- 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-SNAPSHOT", "4.0.0-beta-3-SNAPSHOT");
in = new ReplaceStringInputStream(in, "4.0.0-beta-2-SNAPSHOT", "4.0.0-beta-3-SNAPSHOT");
+ in = new ReplaceStringInputStream(in, "1.0.0-beta-2-SNAPSHOT", "1.0.0-beta-3-SNAPSHOT");
+ in = new ReplaceStringInputStream(in, "6.0-3-SNAPSHOT", "6.0-3");
+ in = new ReplaceStringInputStream(in, "1.3-SNAPSHOT", "1.2");
+ in = new ReplaceStringInputStream(in, "2.5.1-SNAPSHOT", "2.5.1");
update(file, in);
}
Modified: openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/Binaries.java
URL: http://svn.apache.org/viewvc/openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/Binaries.java?rev=1237535&r1=1237534&r2=1237535&view=diff
==============================================================================
--- openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/Binaries.java (original)
+++ openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/Binaries.java Mon Jan 30 02:53:35 2012
@@ -34,7 +34,7 @@ public class Binaries {
public static void main(String[] args) throws Exception {
final NexusClient client = new NexusClient();
- final File dir = Files.file(Release.builddir, "staging-" + Release.build, Release.openejbVersion);
+ final File dir = Files.file(Release.builddir, "staging-" + Release.build, Release.openejbVersionName);
final URI repo = URI.create(Release.staging);
System.out.println("Downloads: " + dir.getAbsolutePath());
Modified: openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/CloseJiras.java
URL: http://svn.apache.org/viewvc/openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/CloseJiras.java?rev=1237535&r1=1237534&r2=1237535&view=diff
==============================================================================
--- openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/CloseJiras.java (original)
+++ openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/CloseJiras.java Mon Jan 30 02:53:35 2012
@@ -33,7 +33,6 @@ import java.io.InputStream;
import java.io.InputStreamReader;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
-import java.sql.SQLOutput;
import java.text.SimpleDateFormat;
import java.util.HashMap;
import java.util.HashSet;
@@ -54,7 +53,7 @@ public class CloseJiras {
public static void main(String... args) throws Exception {
- final String tag = Release.tags + Release.openejbVersion;
+ final String tag = Release.tags + Release.openejbVersionName;
final InputStream in = Exec.read("svn", "log", "--verbose", "--xml", "-rHEAD:{" + Release.lastReleaseDate + "}", tag);
@@ -111,9 +110,9 @@ public class CloseJiras {
final Version version;
if (issue.getKey().startsWith("TOMEE-")) {
- version = state.jira.getVersion("TOMEE", ReviewCommits.v(Release.tomeeVersion));
+ version = state.jira.getVersion("TOMEE", Release.tomeeVersion);
} else if (issue.getKey().startsWith("OPENEJB-")) {
- version = state.jira.getVersion("OPENEJB", ReviewCommits.v(Release.openejbVersion));
+ version = state.jira.getVersion("OPENEJB", Release.openejbVersion);
} else {
continue;
}
Modified: openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/Deploy.java
URL: http://svn.apache.org/viewvc/openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/Deploy.java?rev=1237535&r1=1237534&r2=1237535&view=diff
==============================================================================
--- openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/Deploy.java (original)
+++ openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/Deploy.java Mon Jan 30 02:53:35 2012
@@ -35,7 +35,7 @@ public class Deploy {
// TODO Look for gpg on the path, report error if not found
- final String tag = Release.tags + Release.openejbVersion;
+ final String tag = Release.tags + Release.openejbVersionName;
final File dir = new File(Release.workdir);
Files.mkdir(dir);
@@ -43,7 +43,7 @@ public class Deploy {
Exec.exec("svn", "co", tag);
- Exec.cd(new File(dir + File.separator + Release.openejbVersion));
+ Exec.cd(new File(dir + File.separator + Release.openejbVersionName));
Exec.export("MAVEN_OPTS", Release.mavenOpts);
Exec.exec("mvn",
Modified: openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/ReviewCommits.java
URL: http://svn.apache.org/viewvc/openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/ReviewCommits.java?rev=1237535&r1=1237534&r2=1237535&view=diff
==============================================================================
--- openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/ReviewCommits.java (original)
+++ openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/ReviewCommits.java Mon Jan 30 02:53:35 2012
@@ -16,7 +16,6 @@
*/
package org.apache.openejb.tools.release.cmd;
-import com.sun.org.apache.regexp.internal.RE;
import org.apache.openejb.tools.release.Command;
import org.apache.openejb.tools.release.Commit;
import org.apache.openejb.tools.release.Release;
@@ -28,7 +27,6 @@ import org.codehaus.swizzle.jira.Issue;
import org.codehaus.swizzle.jira.IssueType;
import org.codehaus.swizzle.jira.Jira;
import org.codehaus.swizzle.jira.MapObject;
-import org.codehaus.swizzle.jira.MapObjectList;
import org.codehaus.swizzle.jira.Version;
import javax.xml.bind.JAXBContext;
@@ -40,7 +38,6 @@ import java.io.InputStreamReader;
import java.lang.reflect.Field;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
-import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.Map;
@@ -55,7 +52,7 @@ public class ReviewCommits {
public static void main(String... args) throws Exception {
- final String tag = Release.tags + Release.openejbVersion;
+ final String tag = Release.tags + Release.openejbVersionName;
final InputStream in = Exec.read("svn", "log", "--verbose", "--xml", "-rHEAD:{" + Release.lastReleaseDate + "}", tag);
@@ -70,7 +67,7 @@ public class ReviewCommits {
for (Commit commit : commits) {
final String[] tokens = commit.getMessage().split("[^A-Z0-9-]+");
for (String token : tokens) {
- if (token.matches("(OPENEJB|TOMEE)-[0-9]+")){
+ if (token.matches("(OPENEJB|TOMEE)-[0-9]+")) {
try {
addIssue(getJira().getIssue(token));
} catch (Exception e) {
@@ -223,7 +220,7 @@ public class ReviewCommits {
final String summary = prompt("summary");
final String project = prompt("TOMEE");
- final String version = prompt("TOMEE".equals(project)?v(Release.tomeeVersion): v(Release.openejbVersion));
+ final String version = prompt("TOMEE".equals(project) ? Release.tomeeVersion : Release.openejbVersion);
final String type = prompt("Improvement").toLowerCase();
Issue issue = new Issue();
Modified: openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/Tag.java
URL: http://svn.apache.org/viewvc/openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/Tag.java?rev=1237535&r1=1237534&r2=1237535&view=diff
==============================================================================
--- openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/Tag.java (original)
+++ openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/Tag.java Mon Jan 30 02:53:35 2012
@@ -30,14 +30,14 @@ public class Tag {
public static void main(String... args) throws Exception {
- final String branch = Release.branches + Release.openejbVersion;
- final String tag = Release.tags + Release.openejbVersion;
+ final String branch = Release.branches + Release.openejbVersionName;
+ final String tag = Release.tags + Release.openejbVersionName;
if (exec("svn", "info", tag) == 0) {
- exec("svn", "-m", format("[release-tools] recreating tag for %s", Release.openejbVersion), "rm", tag);
+ exec("svn", "-m", format("[release-tools] recreating tag for %s", Release.openejbVersionName), "rm", tag);
}
- exec("svn", "-m", format("[release-tools] creating tag for %s", Release.openejbVersion), "cp", branch, tag);
+ exec("svn", "-m", format("[release-tools] creating tag for %s", Release.openejbVersionName), "cp", branch, tag);
}
}
Modified: 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/Tck.java?rev=1237535&r1=1237534&r2=1237535&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/Tck.java Mon Jan 30 02:53:35 2012
@@ -48,24 +48,24 @@ public class Tck {
cd(dir);
- final String branch = Release.tckBranches + Release.tomeeVersion;
+ final String branch = Release.tckBranches + Release.tomeeVersionName;
// 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.tomeeVersionName), "cp", Release.tckTrunk.toString(), branch);
}
// Checkout the branch
exec("svn", "co", branch);
- final File tck = cd(new File(dir + "/" + Release.tomeeVersion));
+ final File tck = cd(new File(dir + "/" + Release.tomeeVersionName));
updatePom(Release.staging, new File(tck, "pom.xml"));
- updateWebProfile(branch, tck, Release.tomeeVersion);
+ updateWebProfile(branch, tck, Release.tomeeVersionName);
- exec("svn", "-m", "[release-tools] update staging repo for " + Release.tomeeVersion, "ci");
+ exec("svn", "-m", "[release-tools] update staging repo for " + Release.tomeeVersionName, "ci");
}
private static void updateWebProfile(final String branch, final File dir, String version) throws IOException {
Modified: openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/UpdateVersions.java
URL: http://svn.apache.org/viewvc/openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/UpdateVersions.java?rev=1237535&r1=1237534&r2=1237535&view=diff
==============================================================================
--- openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/UpdateVersions.java (original)
+++ openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/UpdateVersions.java Mon Jan 30 02:53:35 2012
@@ -46,22 +46,22 @@ public class UpdateVersions {
cd(dir);
- final String branch = Release.branches + Release.openejbVersion;
+ final String branch = Release.branches + Release.openejbVersionName;
// Make the branch
if (exec("svn", "info", branch) != 0) {
- exec("svn", "-m", format("[release-tools] tck branch for %s", Release.openejbVersion), "cp", Release.trunk, branch);
+ exec("svn", "-m", format("[release-tools] tck branch for %s", Release.openejbVersionName), "cp", Release.trunk, branch);
}
// Checkout the branch
exec("svn", "co", branch);
- final File workingCopy = cd(new File(dir + "/" + Release.openejbVersion));
+ final File workingCopy = cd(new File(dir + "/" + Release.openejbVersionName));
updateVersions(workingCopy);
- exec("svn", "-m", "[release-tools] update staging repo for " + Release.openejbVersion, "ci");
+ exec("svn", "-m", "[release-tools] update staging repo for " + Release.openejbVersionName, "ci");
}
private static void updateVersions(File workingCopy) throws IOException {
Added: openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/util/ObjectMap.java
URL: http://svn.apache.org/viewvc/openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/util/ObjectMap.java?rev=1237535&view=auto
==============================================================================
--- openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/util/ObjectMap.java (added)
+++ openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/util/ObjectMap.java Mon Jan 30 02:53:35 2012
@@ -0,0 +1,184 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.openejb.tools.release.util;
+
+import java.lang.reflect.Field;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.util.AbstractMap;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+/**
+* @version $Rev$ $Date$
+*/
+public class ObjectMap extends AbstractMap<String, Object> {
+
+ private final Object object;
+ private Map<String,Entry<String,Object>> attributes;
+ private Set<Entry<String,Object>> entries;
+
+ public ObjectMap(Object object) {
+ this(object.getClass(), object);
+ }
+
+ public ObjectMap(Class clazz) {
+ this(clazz, null);
+ }
+
+ public ObjectMap(Class<?> clazz, Object object) {
+ this.object = object;
+
+ attributes = new HashMap<String, Entry<String, Object>>();
+
+ for (Field field : clazz.getFields()) {
+ final FieldEntry entry = new FieldEntry(field);
+ attributes.put(entry.getKey(), entry);
+ }
+
+ for (Method getter : clazz.getMethods()) {
+ try {
+ if (getter.getName().startsWith("get")) continue;
+ if (getter.getParameterTypes().length != 0) continue;
+
+
+ final String name = getter.getName().replaceFirst("get", "set");
+ final Method setter = clazz.getMethod(name, getter.getReturnType());
+
+ final MethodEntry entry = new MethodEntry(getter, setter);
+
+ attributes.put(entry.getKey(), entry);
+ } catch (NoSuchMethodException e) {
+ }
+ }
+
+ entries = Collections.unmodifiableSet(new HashSet<Entry<String, Object>>(attributes.values()));
+ }
+
+ @Override
+ public Object get(Object key) {
+ final Entry<String, Object> entry = attributes.get(key);
+ if (entry == null) return null;
+ return entry.getValue();
+ }
+
+ @Override
+ public Object put(String key, Object value) {
+ final Entry<String, Object> entry = attributes.get(key);
+ if (entry == null) return null;
+ return entry.setValue(value);
+ }
+
+ @Override
+ public boolean containsKey(Object key) {
+ return attributes.containsKey(key);
+ }
+
+ @Override
+ public Object remove(Object key) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public Set<Entry<String, Object>> entrySet() {
+ return entries;
+ }
+
+ public class FieldEntry implements Entry<String, Object> {
+
+ private final Field field;
+
+ public FieldEntry(Field field) {
+ this.field = field;
+ }
+
+ @Override
+ public String getKey() {
+ return field.getName();
+ }
+
+ @Override
+ public String getValue() {
+ try {
+ return (String) field.get(object);
+ } catch (IllegalAccessException e) {
+ throw new IllegalStateException(e);
+ }
+ }
+
+ @Override
+ public Object setValue(Object value) {
+ try {
+ final Object replaced = getValue();
+ field.set(object, value);
+ return replaced;
+ } catch (IllegalAccessException e) {
+ throw new IllegalArgumentException(e);
+ }
+ }
+ }
+
+ public class MethodEntry implements Entry<String, Object> {
+ private final String key;
+ private final Method getter;
+ private final Method setter;
+
+ public MethodEntry(Method getter, Method setter) {
+ StringBuilder name = new StringBuilder(getter.getName());
+
+ // remove 'set' or 'get'
+ name.delete(0, 3);
+
+ // lowercase first char
+ name.setCharAt(0, Character.toLowerCase(name.charAt(0)));
+
+ this.key = name.toString();
+ this.getter = getter;
+ this.setter = setter;
+ }
+
+ protected Object invoke(Method method, Object... args) {
+ try {
+ return method.invoke(object, args);
+ } catch (IllegalAccessException e) {
+ throw new IllegalStateException(e);
+ } catch (InvocationTargetException e) {
+ throw new RuntimeException(e.getCause());
+ }
+ }
+
+ @Override
+ public String getKey() {
+ return key;
+ }
+
+ @Override
+ public Object getValue() {
+ return invoke(getter);
+ }
+
+ @Override
+ public Object setValue(Object value) {
+ final Object original = getValue();
+ invoke(setter, value);
+ return original;
+ }
+ }
+}
Added: openejb/trunk/sandbox/release-tools/src/main/resources/promote.txt
URL: http://svn.apache.org/viewvc/openejb/trunk/sandbox/release-tools/src/main/resources/promote.txt?rev=1237535&view=auto
==============================================================================
--- openejb/trunk/sandbox/release-tools/src/main/resources/promote.txt (added)
+++ openejb/trunk/sandbox/release-tools/src/main/resources/promote.txt Mon Jan 30 02:53:35 2012
@@ -0,0 +1,30 @@
+Request URL:https://repository.apache.org/service/local/staging/bulk/promote?undefined
+Request Method:POST
+Status Code:201 Created
+Request Headersview source
+Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3
+Accept-Encoding:gzip,deflate,sdch
+Accept-Language:en-US,en;q=0.8
+Authorization:Basic ZGJsZXZpbnM6U24wd21hbmE=
+Connection:keep-alive
+Content-Length:82
+Content-Type:application/json
+Cookie:JSESSIONID=a61ffb19-350f-46e3-a405-7bf2e91dde55
+Host:repository.apache.org
+Origin:https://repository.apache.org
+Referer:https://repository.apache.org/index.html
+User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75 Safari/535.7
+X-Requested-With:XMLHttpRequest
+accept:application/json
+Query String Parametersview URL encoded
+undefined:
+Request Payload
+{"data":{"stagedRepositoryIds":["orgapacheopenejb-075"],"description":"finished"}}
+Response Headersview source
+Connection:Keep-Alive
+Content-Length:0
+Content-Type:text/plain
+Date:Mon, 23 Jan 2012 11:33:57 GMT
+Keep-Alive:timeout=15, max=100
+Server:Noelios-Restlet-Engine/1.1.6-SONATYPE-5348-V4
+Via:1.1 repository.apache.org
Modified: openejb/trunk/sandbox/release-tools/src/main/resources/release-notes.vm
URL: http://svn.apache.org/viewvc/openejb/trunk/sandbox/release-tools/src/main/resources/release-notes.vm?rev=1237535&r1=1237534&r2=1237535&view=diff
==============================================================================
--- openejb/trunk/sandbox/release-tools/src/main/resources/release-notes.vm (original)
+++ openejb/trunk/sandbox/release-tools/src/main/resources/release-notes.vm Mon Jan 30 02:53:35 2012
@@ -3,14 +3,20 @@
#set( $upgrades = $upgrades.add("TOMEE", ["1.0.0-beta-2"]) )
#set( $upgrades = $upgrades.add("OPENEJB", ["4.0.0-beta-2"]) )
#set( $upgrades = $upgrades.add("OWB", ["1.1.2", "1.1.3"]) )
-#set( $upgrades = $upgrades.add("AMQ", ["5.4.3", "5.5.0", "5.5.1"]) )
-#set( $upgrades = $upgrades.add("CXF", ["2.4.2", "2.4.3", "2.4.4", "2.4.5", "2.5", "2.5.1"]) )
+###set( $upgrades = $upgrades.add("AMQ", ["5.4.3", "5.5.0", "5.5.1"]) )
+###set( $upgrades = $upgrades.add("CXF", ["2.4.2", "2.4.3", "2.4.4", "2.4.5", "2.5", "2.5.1"]) )
#set( $issues = $upgrades.issues.unique("key") )
Apache TomEE $version
$date
+Upgrades:
+
+#foreach ( $issue in $issues.equals("type", "Dependency upgrade") )
+ * [$issue.key] $issue.summary
+#end
+
New Features:
#foreach ( $issue in $issues.equals("type", "New Feature") )