You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@continuum.apache.org by ep...@apache.org on 2006/09/18 13:24:38 UTC

svn commit: r447372 - in /maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main: java/org/apache/maven/continuum/web/action/ resources/ webapp/

Author: epunzalan
Date: Mon Sep 18 04:24:37 2006
New Revision: 447372

URL: http://svn.apache.org/viewvc?view=rev&rev=447372
Log:
PR: CONTINUUM-908

fixed bug in redirection which requests another release operation when the page refreshes.

added loading of release plugin parameters from within the project's pom

Modified:
    maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/PerformReleaseAction.java
    maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/PrepareReleaseAction.java
    maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/resources/xwork.xml
    maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/performReleaseProgress.jsp
    maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/prepareReleaseProgress.jsp

Modified: maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/PerformReleaseAction.java
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/PerformReleaseAction.java?view=diff&rev=447372&r1=447371&r2=447372
==============================================================================
--- maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/PerformReleaseAction.java (original)
+++ maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/PerformReleaseAction.java Mon Sep 18 04:24:37 2006
@@ -120,7 +120,7 @@
 
         releaseManager.perform( releaseId, performDirectory, goals, useReleaseProfile, listener );
 
-        return checkProgress();
+        return "initialized";
     }
 
     public String checkProgress()
@@ -132,9 +132,9 @@
 
         listener = (ContinuumReleaseManagerListener) releaseManager.getListeners().get( releaseId );
 
-        if ( listener.getState() == ContinuumReleaseManagerListener.INITIALIZED )
+        if ( listener.getState() == ContinuumReleaseManagerListener.FINISHED )
         {
-            status = "initialized";
+            status = "finished";
         }
         else
         {

Modified: maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/PrepareReleaseAction.java
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/PrepareReleaseAction.java?view=diff&rev=447372&r1=447371&r2=447372
==============================================================================
--- maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/PrepareReleaseAction.java (original)
+++ maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/PrepareReleaseAction.java Mon Sep 18 04:24:37 2006
@@ -18,23 +18,25 @@
 
 import org.apache.maven.continuum.model.project.Project;
 import org.apache.maven.continuum.release.ContinuumReleaseManager;
-import org.apache.maven.continuum.release.DefaultReleaseManagerListener;
 import org.apache.maven.continuum.release.ContinuumReleaseManagerListener;
-import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
+import org.apache.maven.continuum.release.DefaultReleaseManagerListener;
 import org.apache.maven.model.Model;
-import org.apache.maven.plugins.release.versions.VersionInfo;
-import org.apache.maven.plugins.release.versions.DefaultVersionInfo;
+import org.apache.maven.model.Plugin;
+import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
 import org.apache.maven.plugins.release.ReleaseResult;
+import org.apache.maven.plugins.release.versions.DefaultVersionInfo;
+import org.apache.maven.plugins.release.versions.VersionInfo;
 import org.codehaus.plexus.util.StringUtils;
+import org.codehaus.plexus.util.xml.Xpp3Dom;
 
+import java.io.File;
+import java.io.FileReader;
+import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.Properties;
-import java.util.Iterator;
-import java.util.ArrayList;
-import java.io.FileReader;
-import java.io.File;
 
 /**
  * @author Edwin Punzalan
@@ -94,11 +96,58 @@
         }
         prepareGoals = "clean integration-test";
 
+        getReleasePluginParameters( project.getWorkingDirectory(), "pom.xml" );
+
         processProject( project.getWorkingDirectory(), "pom.xml" );
 
         return "prompt";
     }
 
+    private void getReleasePluginParameters( String workingDirectory, String pomFilename )
+        throws Exception
+    {
+        MavenXpp3Reader pomReader = new MavenXpp3Reader();
+        Model model = pomReader.read( new FileReader( new File( workingDirectory, pomFilename ) ) );
+
+        if ( model.getBuild() != null && model.getBuild().getPlugins() != null )
+        {
+            for( Iterator plugins = model.getBuild().getPlugins().iterator(); plugins.hasNext(); )
+            {
+                Plugin plugin = (Plugin) plugins.next();
+
+                if ( plugin.getGroupId() != null && plugin.getGroupId().equals( "org.apache.maven.plugins" ) &&
+                     plugin.getArtifactId() != null && plugin.getArtifactId().equals( "maven-release-plugin" ) )
+                {
+                    Xpp3Dom dom = (Xpp3Dom) plugin.getConfiguration();
+
+                    Xpp3Dom configuration = dom.getChild( "releaseLabel" );
+                    if ( configuration != null )
+                    {
+                        scmTag = configuration.getValue();
+                    }
+
+                    configuration = dom.getChild( "tag" );
+                    if ( configuration != null )
+                    {
+                        scmTag = configuration.getValue();
+                    }
+
+                    configuration = dom.getChild( "tagBase" );
+                    if ( configuration != null )
+                    {
+                        scmTagBase = configuration.getValue();
+                    }
+
+                    configuration = dom.getChild( "preparationGoals" );
+                    if ( configuration != null )
+                    {
+                        prepareGoals = configuration.getValue();
+                    }
+                }
+            }
+        }
+    }
+
     public String doPrepare()
         throws Exception
     {
@@ -117,7 +166,7 @@
         releaseId = releaseManager.prepare( project, getReleaseProperties(), getRelVersionMap(),
                                             getDevVersionMap(), listener );
 
-        return checkProgress();
+        return "initialized";
     }
 
     public String viewResult()

Modified: maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/resources/xwork.xml
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/resources/xwork.xml?view=diff&rev=447372&r1=447371&r2=447372
==============================================================================
--- maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/resources/xwork.xml (original)
+++ maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/resources/xwork.xml Mon Sep 18 04:24:37 2006
@@ -312,12 +312,22 @@
 
     <action name="prepareRelease" class="prepareRelease">
       <result name="prompt">prepareRelease.jsp</result>
+      <result name="initialized" type="redirect-action">
+        <param name="actionName">prepareRelease!checkProgress.action</param>
+        <param name="releaseId">${releaseId}</param>
+        <param name="projectId">${projectId}</param>
+      </result>
       <result name="inProgress">prepareReleaseProgress.jsp</result>
       <result name="finished">prepareReleaseFinished.jsp</result>
     </action>
 
     <action name="performRelease" class="performRelease">
       <result name="prompt">performRelease.jsp</result>
+      <result name="initialized" type="redirect-action">
+        <param name="actionName">performRelease!checkProgress.action</param>
+        <param name="releaseId">${releaseId}</param>
+        <param name="projectId">${projectId}</param>
+      </result>
       <result name="inProgress">performReleaseProgress.jsp</result>
       <result name="finished">performReleaseFinished.jsp</result>
     </action>

Modified: maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/performReleaseProgress.jsp
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/performReleaseProgress.jsp?view=diff&rev=447372&r1=447371&r2=447372
==============================================================================
--- maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/performReleaseProgress.jsp (original)
+++ maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/performReleaseProgress.jsp Mon Sep 18 04:24:37 2006
@@ -11,9 +11,12 @@
       <ww:form action="performRelease!checkProgress.action" method="get">
         <ww:hidden name="projectId"/>
         <ww:hidden name="releaseId"/>
-        <ww:if test="listener.phases.size == 0">
+        <ww:if test="listener.state == 0">
           <p>
-            The release goal is currently initializing... Please wait while server prepares your project for release.
+            The release goal is currently initializing...
+          </p>
+          <p>
+            Please wait while the server prepares your project for release.
           </p>
         </ww:if>
         <ww:else>

Modified: maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/prepareReleaseProgress.jsp
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/prepareReleaseProgress.jsp?view=diff&rev=447372&r1=447371&r2=447372
==============================================================================
--- maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/prepareReleaseProgress.jsp (original)
+++ maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/prepareReleaseProgress.jsp Mon Sep 18 04:24:37 2006
@@ -11,9 +11,12 @@
       <ww:form action="prepareRelease!checkProgress.action" method="get">
         <ww:hidden name="projectId"/>
         <ww:hidden name="releaseId"/>
-        <ww:if test="listener.phases.size == 0">
+        <ww:if test="listener.state == 0">
           <p>
-            The release goal is currently initializing... Please wait while server prepares your project for release.
+            The release goal is currently initializing...
+          </p>
+          <p>
+            Please wait while the server prepares your project for release.
           </p>
         </ww:if>
         <ww:else>