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") )