You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by jl...@apache.org on 2012/11/23 20:39:51 UTC
svn commit: r1413041 - in /openejb/trunk/sandbox/release-tools: ./
src/main/java/org/apache/openejb/tools/release/
src/main/java/org/apache/openejb/tools/release/cmd/ src/main/resources/
Author: jlmonteiro
Date: Fri Nov 23 19:39:48 2012
New Revision: 1413041
URL: http://svn.apache.org/viewvc?rev=1413041&view=rev
Log:
Using Maven settings to get username and password for Jira instead of system properties
Refactor some parts
Update release notes template to use variables
Modified:
openejb/trunk/sandbox/release-tools/pom.xml
openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/Main.java
openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/Upgrades.java
openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/Close.java
openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/ReleaseNotes.java
openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/ReleaseTasks.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/UpdateJiras.java
openejb/trunk/sandbox/release-tools/src/main/resources/release-notes-html.vm
openejb/trunk/sandbox/release-tools/src/main/resources/release-notes.vm
Modified: openejb/trunk/sandbox/release-tools/pom.xml
URL: http://svn.apache.org/viewvc/openejb/trunk/sandbox/release-tools/pom.xml?rev=1413041&r1=1413040&r2=1413041&view=diff
==============================================================================
--- openejb/trunk/sandbox/release-tools/pom.xml (original)
+++ openejb/trunk/sandbox/release-tools/pom.xml Fri Nov 23 19:39:48 2012
@@ -155,6 +155,12 @@
<version>1.7</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-settings</artifactId>
+ <version>3.0.4</version>
+ </dependency>
+
</dependencies>
</project>
Modified: openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/Main.java
URL: http://svn.apache.org/viewvc/openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/Main.java?rev=1413041&r1=1413040&r2=1413041&view=diff
==============================================================================
--- openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/Main.java (original)
+++ openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/Main.java Fri Nov 23 19:39:48 2012
@@ -29,6 +29,7 @@ import java.io.File;
import java.net.MalformedURLException;
import java.util.ArrayList;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
/**
@@ -59,20 +60,7 @@ public class Main {
}
public static void main(String[] args) throws Exception {
- final ArrayList<String> list = new ArrayList<String>();
-
- // Read in and apply the properties specified on the command line
- for (String arg : args) {
- if (arg.startsWith("-D")) {
-
- final String name = arg.substring(arg.indexOf("-D") + 2, arg.indexOf("="));
- final String value = arg.substring(arg.indexOf("=") + 1);
-
- System.setProperty(name, value);
- } else {
- list.add(arg);
- }
- }
+ final List<String> list = processSystemProperties(args);
final String command = (list.size() == 0) ? "help" : list.remove(0);
args = list.toArray(new String[list.size()]);
@@ -83,8 +71,8 @@ public class Main {
}
- public static String[] processSystemProperties(String[] args) {
- final ArrayList<String> list = new ArrayList<String>();
+ public static List<String> processSystemProperties(String[] args) {
+ final List<String> list = new ArrayList<String>();
// Read in and apply the properties specified on the command line
for (String arg : args) {
@@ -99,7 +87,7 @@ public class Main {
}
}
- return (String[]) list.toArray(new String[list.size()]);
+ return list;
}
}
Modified: openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/Upgrades.java
URL: http://svn.apache.org/viewvc/openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/Upgrades.java?rev=1413041&r1=1413040&r2=1413041&view=diff
==============================================================================
--- openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/Upgrades.java (original)
+++ openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/Upgrades.java Fri Nov 23 19:39:48 2012
@@ -16,6 +16,7 @@
*/
package org.apache.openejb.tools.release;
+import org.apache.maven.settings.Server;
import org.apache.openejb.tools.release.util.Options;
import org.codehaus.swizzle.jira.Issue;
import org.codehaus.swizzle.jira.Jira;
@@ -46,9 +47,13 @@ public class Upgrades {
public List<Issue> getIssues() throws Exception {
+ Server server = Maven.settings.getServer("apache.jira");
+ final String username = server.getUsername();
+ final String password = server.getPassword();
+
final Options options = new Options(System.getProperties());
Jira jira = new Jira("https://issues.apache.org/jira/rpc/xmlrpc");
- jira.login(options.get("username", ""), options.get("password", ""));
+ jira.login(username, password);
final List<String> missing = new ArrayList<String>();
final List<String> urls = new ArrayList<String>();
Modified: openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/Close.java
URL: http://svn.apache.org/viewvc/openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/Close.java?rev=1413041&r1=1413040&r2=1413041&view=diff
==============================================================================
--- openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/Close.java (original)
+++ openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/Close.java Fri Nov 23 19:39:48 2012
@@ -16,10 +16,9 @@
*/
package org.apache.openejb.tools.release.cmd;
-import org.apache.openejb.tools.release.Command;
-import org.apache.openejb.tools.release.Nexus;
-import org.apache.openejb.tools.release.Release;
-import org.apache.openejb.tools.release.Repository;
+import org.apache.maven.settings.Server;
+import org.apache.maven.settings.Settings;
+import org.apache.openejb.tools.release.*;
import org.apache.openejb.tools.release.util.Files;
import org.apache.openejb.tools.release.util.IO;
import org.apache.openejb.tools.release.util.ObjectList;
@@ -35,16 +34,9 @@ public class Close {
public static void main(String... args) throws Exception {
- final File settingsXml = Files.file(System.getProperty("user.home"), ".m2", "settings.xml");
- final StreamLexer lexer = new StreamLexer(IO.read(settingsXml));
-
- while (lexer.readAndMark("<server>", "</server>")) {
- if (lexer.peek("<id>apache.releases.https</id>") != null) break;
- lexer.unmark();
- }
-
- final String user = lexer.peek("<username>", "</");
- final String pass = lexer.peek("<password>", "</");
+ Server server = Maven.settings.getServer("apache.releases.https");
+ final String user = server.getUsername();
+ final String pass = server.getPassword();
final Nexus nexus = new Nexus(user, pass);
Modified: openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/ReleaseNotes.java
URL: http://svn.apache.org/viewvc/openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/ReleaseNotes.java?rev=1413041&r1=1413040&r2=1413041&view=diff
==============================================================================
--- openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/ReleaseNotes.java (original)
+++ openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/ReleaseNotes.java Fri Nov 23 19:39:48 2012
@@ -17,6 +17,11 @@
package org.apache.openejb.tools.release.cmd;
import org.apache.openejb.tools.release.Command;
+import org.apache.openejb.tools.release.Release;
+
+import java.lang.reflect.Field;
+import java.util.ArrayList;
+import java.util.List;
/**
* @version $Rev$ $Date$
@@ -25,6 +30,20 @@ import org.apache.openejb.tools.release.
public class ReleaseNotes {
public static void main(String[] args) throws Throwable {
- org.codehaus.swizzle.jirareport.Main.main(new String[]{"release-notes-html.vm"});
+ List<String> argsList = new ArrayList<String>();
+
+ // lets add the template as the parameter
+ argsList.add("release-notes-html.vm");
+
+ // then add system properties to get values replaced in the template
+ for (Field field : Release.class.getFields()) {
+ try {
+ argsList.add("-D" + field.getName() + "=" + field.get(null));
+ } catch (IllegalAccessException e) {
+ e.printStackTrace();
+ }
+ }
+
+ org.codehaus.swizzle.jirareport.Main.main((String[]) argsList.toArray(new String[] {}));
}
}
Modified: openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/ReleaseTasks.java
URL: http://svn.apache.org/viewvc/openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/ReleaseTasks.java?rev=1413041&r1=1413040&r2=1413041&view=diff
==============================================================================
--- openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/ReleaseTasks.java (original)
+++ openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/ReleaseTasks.java Fri Nov 23 19:39:48 2012
@@ -20,11 +20,14 @@ package org.apache.openejb.tools.release
* @version $Rev$ $Date$
*/
+import org.apache.commons.lang.Validate;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;
+import org.apache.maven.settings.Server;
import org.apache.openejb.tools.release.Command;
+import org.apache.openejb.tools.release.Maven;
import org.apache.openejb.tools.release.Release;
import org.apache.openejb.tools.release.Templates;
import org.apache.openejb.tools.release.util.Base64;
@@ -53,8 +56,10 @@ public class ReleaseTasks {
public static void main(String... args) throws Exception {
final Options options = new Options(System.getProperties());
- final String username = options.get("username", "");
- final String password = options.get("password", "");
+
+ Server server = Maven.settings.getServer("apache.jira");
+ final String username = server.getUsername();
+ final String password = server.getPassword();
final ReleaseTasks tasks = new ReleaseTasks(username, password);
tasks.run();
@@ -64,6 +69,10 @@ public class ReleaseTasks {
private final DefaultHttpClient client;
public ReleaseTasks(String user, String pass) {
+ // sanity checks
+ Validate.notEmpty(user);
+ Validate.notEmpty(pass);
+
final String s = user + ":" + pass;
final byte[] bytes = Base64.encodeBase64(s.getBytes());
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=1413041&r1=1413040&r2=1413041&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 Fri Nov 23 19:39:48 2012
@@ -16,8 +16,10 @@
*/
package org.apache.openejb.tools.release.cmd;
+import org.apache.maven.settings.Server;
import org.apache.openejb.tools.release.Command;
import org.apache.openejb.tools.release.Commit;
+import org.apache.openejb.tools.release.Maven;
import org.apache.openejb.tools.release.Release;
import org.apache.openejb.tools.release.util.Exec;
import org.apache.openejb.tools.release.util.Join;
@@ -140,11 +142,15 @@ public class ReviewCommits {
private static List<IssueType> issueTypes = new ArrayList<IssueType>();
public static Jira getJira() {
+ Server server = Maven.settings.getServer("apache.jira");
+ final String username = server.getUsername();
+ final String password = server.getPassword();
+
if (jira == null) {
try {
final Options options = new Options(System.getProperties());
Jira jira = new Jira("http://issues.apache.org/jira/rpc/xmlrpc");
- jira.login(options.get("username", ""), options.get("password", ""));
+ jira.login(username, password);
ReviewCommits.jira = jira;
issueTypes.add(jira.getIssueType("Improvement"));
@@ -219,9 +225,9 @@ public class ReviewCommits {
final Jira jira = getJira();
final String summary = prompt("summary");
- final String project = prompt("TOMEE");
+ final String project = prompt("TOMEE ('o' for OPENEJB else TOMEE)");
final String version = prompt("TOMEE".equals(project) ? Release.tomeeVersion : Release.openejbVersion);
- final String type = prompt("Improvement").toLowerCase();
+ final String type = prompt("Improvement (type first letters)").toLowerCase();
Issue issue = new Issue();
@@ -245,7 +251,7 @@ public class ReviewCommits {
issue.getFixVersions().add(v);
System.out.printf("%s %s\n%s %s\n", issue.getProject(), issue.getSummary(), issue.getType(), Join.join(",", issue.getFixVersions()));
- final String prompt = prompt("create?");
+ final String prompt = prompt("create? (yes or no)");
if (prompt.equals("create?") || prompt.equals("yes")) {
try {
Modified: openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/UpdateJiras.java
URL: http://svn.apache.org/viewvc/openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/UpdateJiras.java?rev=1413041&r1=1413040&r2=1413041&view=diff
==============================================================================
--- openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/UpdateJiras.java (original)
+++ openejb/trunk/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/UpdateJiras.java Fri Nov 23 19:39:48 2012
@@ -16,8 +16,10 @@
*/
package org.apache.openejb.tools.release.cmd;
+import org.apache.maven.settings.Server;
import org.apache.openejb.tools.release.Command;
import org.apache.openejb.tools.release.Commit;
+import org.apache.openejb.tools.release.Maven;
import org.apache.openejb.tools.release.Release;
import org.apache.openejb.tools.release.util.Exec;
import org.apache.openejb.tools.release.util.ObjectList;
@@ -156,9 +158,13 @@ public class UpdateJiras {
private Map<String, IssueCommits> map = new HashMap<String, IssueCommits>();
public State() throws Exception {
+ Server server = Maven.settings.getServer("apache.jira");
+ final String username = server.getUsername();
+ final String password = server.getPassword();
+
final Options options = new Options(System.getProperties());
jira = new Jira("http://issues.apache.org/jira/rpc/xmlrpc");
- jira.login(options.get("username", ""), options.get("password", ""));
+ jira.login(username, password);
}
public IssueCommits get(String key) {
Modified: openejb/trunk/sandbox/release-tools/src/main/resources/release-notes-html.vm
URL: http://svn.apache.org/viewvc/openejb/trunk/sandbox/release-tools/src/main/resources/release-notes-html.vm?rev=1413041&r1=1413040&r2=1413041&view=diff
==============================================================================
--- openejb/trunk/sandbox/release-tools/src/main/resources/release-notes-html.vm (original)
+++ openejb/trunk/sandbox/release-tools/src/main/resources/release-notes-html.vm Fri Nov 23 19:39:48 2012
@@ -1,8 +1,8 @@
-#set( $version = "1.0.0" )
+#set( $version = $tomeeVersion )
#set( $upgrades = $utils.load("org.apache.openejb.tools.release.Upgrades") )
-#set( $upgrades = $upgrades.add("TOMEE", ["1.5.0"]) )
-#set( $upgrades = $upgrades.add("OPENEJB", ["4.5.0"]) )
-#set( $upgrades = $upgrades.add("OWB", ["1.1.6"]) )
+#set( $upgrades = $upgrades.add("TOMEE", [$tomeeVersion]) )
+#set( $upgrades = $upgrades.add("OPENEJB", [$openejbVersion]) )
+#set( $upgrades = $upgrades.add("OWB", ["1.1.7"]) )
###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") )
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=1413041&r1=1413040&r2=1413041&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 Fri Nov 23 19:39:48 2012
@@ -1,8 +1,8 @@
-#set( $version = "1.0.0" )
+#set( $version = $tomeeVersion )
#set( $upgrades = $utils.load("org.apache.openejb.tools.release.Upgrades") )
-#set( $upgrades = $upgrades.add("TOMEE", ["1.0.0"]) )
-#set( $upgrades = $upgrades.add("OPENEJB", ["4.0.0"]) )
-#set( $upgrades = $upgrades.add("OWB", ["1.1.4"]) )
+#set( $upgrades = $upgrades.add("TOMEE", [$tomeeVersion]) )
+#set( $upgrades = $upgrades.add("OPENEJB", [$openejbVersion]) )
+#set( $upgrades = $upgrades.add("OWB", ["1.1.7"]) )
###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") )