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/14 06:31:49 UTC

svn commit: r443226 - in /maven/continuum/branches/release-integration/continuum: continuum-api/src/main/java/org/apache/maven/continuum/release/ continuum-release/src/main/java/org/apache/maven/continuum/release/ continuum-release/src/main/java/org/ap...

Author: epunzalan
Date: Wed Sep 13 21:31:48 2006
New Revision: 443226

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

Added View Release Output page

Added:
    maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ViewReleaseResultAction.java   (with props)
    maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/viewReleaseResult.jsp   (with props)
Removed:
    maven/continuum/branches/release-integration/continuum/continuum-release/src/main/java/org/apache/maven/continuum/release/ContinuumReleaseResult.java
Modified:
    maven/continuum/branches/release-integration/continuum/continuum-api/src/main/java/org/apache/maven/continuum/release/ContinuumReleaseManager.java
    maven/continuum/branches/release-integration/continuum/continuum-release/src/main/java/org/apache/maven/continuum/release/DefaultContinuumReleaseManager.java
    maven/continuum/branches/release-integration/continuum/continuum-release/src/main/java/org/apache/maven/continuum/release/executors/PrepareReleaseTaskExecutor.java
    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/performReleaseFinished.jsp
    maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/prepareReleaseFinished.jsp

Modified: maven/continuum/branches/release-integration/continuum/continuum-api/src/main/java/org/apache/maven/continuum/release/ContinuumReleaseManager.java
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-api/src/main/java/org/apache/maven/continuum/release/ContinuumReleaseManager.java?view=diff&rev=443226&r1=443225&r2=443226
==============================================================================
--- maven/continuum/branches/release-integration/continuum/continuum-api/src/main/java/org/apache/maven/continuum/release/ContinuumReleaseManager.java (original)
+++ maven/continuum/branches/release-integration/continuum/continuum-api/src/main/java/org/apache/maven/continuum/release/ContinuumReleaseManager.java Wed Sep 13 21:31:48 2006
@@ -66,9 +66,9 @@
                   String goals, boolean useReleaseProfile, ContinuumReleaseManagerListener listener )
         throws ContinuumReleaseException;
 
-    void setPreparedReleases( Map preparedReleases );
-
     Map getPreparedReleases();
+
+    Map getReleaseResults();
 
     Map getListeners();
 }

Modified: maven/continuum/branches/release-integration/continuum/continuum-release/src/main/java/org/apache/maven/continuum/release/DefaultContinuumReleaseManager.java
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-release/src/main/java/org/apache/maven/continuum/release/DefaultContinuumReleaseManager.java?view=diff&rev=443226&r1=443225&r2=443226
==============================================================================
--- maven/continuum/branches/release-integration/continuum/continuum-release/src/main/java/org/apache/maven/continuum/release/DefaultContinuumReleaseManager.java (original)
+++ maven/continuum/branches/release-integration/continuum/continuum-release/src/main/java/org/apache/maven/continuum/release/DefaultContinuumReleaseManager.java Wed Sep 13 21:31:48 2006
@@ -58,6 +58,12 @@
      */
     private static Map preparedReleases;
 
+    /**
+     * contains results
+     * @todo remove static when singleton strategy is working
+     */
+    private static Map releaseResults;
+
     public String prepare( Project project, Properties releaseProperties, Map relVersions,
                            Map devVersions, ContinuumReleaseManagerListener listener )
         throws ContinuumReleaseException
@@ -142,9 +148,14 @@
         return preparedReleases;
     }
 
-    public void setPreparedReleases( Map preparedReleases )
+    public Map getReleaseResults()
     {
-        this.preparedReleases = preparedReleases;
+        if ( releaseResults == null )
+        {
+            releaseResults = new Hashtable();
+        }
+
+        return releaseResults;
     }
 
     private ReleaseDescriptor getReleaseDescriptor( Project project, Properties releaseProperties,

Modified: maven/continuum/branches/release-integration/continuum/continuum-release/src/main/java/org/apache/maven/continuum/release/executors/PrepareReleaseTaskExecutor.java
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-release/src/main/java/org/apache/maven/continuum/release/executors/PrepareReleaseTaskExecutor.java?view=diff&rev=443226&r1=443225&r2=443226
==============================================================================
--- maven/continuum/branches/release-integration/continuum/continuum-release/src/main/java/org/apache/maven/continuum/release/executors/PrepareReleaseTaskExecutor.java (original)
+++ maven/continuum/branches/release-integration/continuum/continuum-release/src/main/java/org/apache/maven/continuum/release/executors/PrepareReleaseTaskExecutor.java Wed Sep 13 21:31:48 2006
@@ -18,13 +18,15 @@
 
 import org.apache.maven.continuum.release.ContinuumReleaseException;
 import org.apache.maven.continuum.release.tasks.PrepareReleaseProjectTask;
-import org.apache.maven.plugins.release.ReleaseExecutionException;
-import org.apache.maven.plugins.release.ReleaseFailureException;
 import org.apache.maven.plugins.release.ReleaseManagerListener;
+import org.apache.maven.plugins.release.ReleaseResult;
 import org.apache.maven.plugins.release.config.ReleaseDescriptor;
+import org.apache.maven.settings.Settings;
 import org.codehaus.plexus.taskqueue.Task;
 import org.codehaus.plexus.taskqueue.execution.TaskExecutionException;
 
+import java.util.List;
+
 /**
  * @author Edwin Punzalan
  */
@@ -34,30 +36,56 @@
     public void executeTask( Task task )
         throws TaskExecutionException
     {
+        PrepareReleaseProjectTask prepareTask = (PrepareReleaseProjectTask) task;
+
+        ReleaseManagerListener listener = prepareTask.getListener();
+
+        Settings settings;
         try
         {
-            PrepareReleaseProjectTask prepareTask = (PrepareReleaseProjectTask) task;
+            settings = getSettings();
+        }
+        catch ( ContinuumReleaseException e )
+        {
+            ReleaseResult result = new ReleaseResult();
 
-            ReleaseDescriptor descriptor = prepareTask.getDescriptor();
+            result.appendError( e );
 
-            ReleaseManagerListener listener = prepareTask.getListener();
+            continuumReleaseManager.getReleaseResults().put( prepareTask.getReleaseId(), result );
 
-            releasePluginManager.prepare( descriptor, getSettings(), getReactorProjects( descriptor ),
-                                          false, false, listener );
+            listener.error( e.getMessage() );
 
-            continuumReleaseManager.getPreparedReleases().put( prepareTask.getReleaseId(), descriptor );
-        }
-        catch ( ReleaseExecutionException e )
-        {
-            throw new TaskExecutionException( "Release Manager Execution error occurred.", e );
+            throw new TaskExecutionException( "Failed to build reactor projects.", e );
         }
-        catch ( ReleaseFailureException e )
+
+        ReleaseDescriptor descriptor = prepareTask.getDescriptor();
+
+        List reactorProjects;
+        try
         {
-            throw new TaskExecutionException( "Release Manager failure occurred.", e );
+            reactorProjects = getReactorProjects( descriptor );
         }
         catch ( ContinuumReleaseException e )
         {
+            ReleaseResult result = new ReleaseResult();
+
+            result.appendError( e );
+
+            continuumReleaseManager.getReleaseResults().put( prepareTask.getReleaseId(), result );
+
+            listener.error( e.getMessage() );
+
             throw new TaskExecutionException( "Failed to build reactor projects.", e );
+        }
+
+        ReleaseResult result = releasePluginManager.prepareWithResult( descriptor, settings, reactorProjects,
+                                                                       false, false, listener );
+
+        if ( result.getResultCode() == ReleaseResult.SUCCESS )
+        {
+            continuumReleaseManager.getReleaseResults().put( prepareTask.getReleaseId(), result );
+
+            continuumReleaseManager.getPreparedReleases().put( prepareTask.getReleaseId(), descriptor );
         }
     }
 }

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=443226&r1=443225&r2=443226
==============================================================================
--- 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 Wed Sep 13 21:31:48 2006
@@ -21,6 +21,7 @@
 import org.apache.maven.continuum.release.DefaultReleaseManagerListener;
 import org.apache.maven.continuum.model.project.Project;
 import org.apache.maven.plugins.release.config.ReleaseDescriptor;
+import org.apache.maven.plugins.release.ReleaseResult;
 import org.codehaus.plexus.util.StringUtils;
 
 import java.io.File;
@@ -56,6 +57,8 @@
 
     private ContinuumReleaseManagerListener listener;
 
+    private ReleaseResult result;
+
     public String execute()
         throws Exception
     {
@@ -141,6 +144,8 @@
         {
             releaseManager.getListeners().remove( releaseId );
 
+            result = (ReleaseResult) releaseManager.getReleaseResults().get( releaseId );
+
             status = "finished";
         }
 
@@ -247,5 +252,15 @@
     public void setListener( ContinuumReleaseManagerListener listener )
     {
         this.listener = listener;
+    }
+
+    public ReleaseResult getResult()
+    {
+        return result;
+    }
+
+    public void setResult( ReleaseResult result )
+    {
+        this.result = result;
     }
 }

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=443226&r1=443225&r2=443226
==============================================================================
--- 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 Wed Sep 13 21:31:48 2006
@@ -24,6 +24,7 @@
 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.plugins.release.ReleaseResult;
 import org.codehaus.plexus.util.StringUtils;
 
 import java.util.HashMap;
@@ -67,6 +68,8 @@
 
     private List relVersions;
 
+    private ReleaseResult result;
+
     private ContinuumReleaseManagerListener listener;
 
     public String execute()
@@ -104,6 +107,14 @@
         return "initialized";
     }
 
+    public String viewResult()
+        throws Exception
+    {
+        result = (ReleaseResult) getContinuum().getReleaseManager().getReleaseResults().get( releaseId );
+
+        return "viewResult";
+    }
+
     public String checkProgress()
         throws Exception
     {
@@ -117,6 +128,8 @@
         {
             releaseManager.getListeners().remove( releaseId );
 
+            result = (ReleaseResult) releaseManager.getReleaseResults().get( releaseId );
+
             status = "finished";
         }
         else if ( listener.getState() == ContinuumReleaseManagerListener.LISTENING )
@@ -339,5 +352,15 @@
     public void setReleaseId( String releaseId )
     {
         this.releaseId = releaseId;
+    }
+
+    public ReleaseResult getResult()
+    {
+        return result;
+    }
+
+    public void setResult( ReleaseResult result )
+    {
+        this.result = result;
     }
 }

Added: maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ViewReleaseResultAction.java
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ViewReleaseResultAction.java?view=auto&rev=443226
==============================================================================
--- maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ViewReleaseResultAction.java (added)
+++ maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ViewReleaseResultAction.java Wed Sep 13 21:31:48 2006
@@ -0,0 +1,46 @@
+package org.apache.maven.continuum.web.action;
+
+import org.apache.maven.plugins.release.ReleaseResult;
+
+/**
+ * @author Edwin Punzalan
+ *
+ * @plexus.component
+ *   role="com.opensymphony.xwork.Action"
+ *   role-hint="viewReleaseResult"
+ */
+public class ViewReleaseResultAction
+    extends ContinuumActionSupport
+{
+    private String releaseId;
+
+    private ReleaseResult result;
+
+    public String execute()
+        throws Exception
+    {
+        result = (ReleaseResult) getContinuum().getReleaseManager().getReleaseResults().get( releaseId );
+
+        return SUCCESS;
+    }
+
+    public String getReleaseId()
+    {
+        return releaseId;
+    }
+
+    public void setReleaseId( String releaseId )
+    {
+        this.releaseId = releaseId;
+    }
+
+    public ReleaseResult getResult()
+    {
+        return result;
+    }
+
+    public void setResult( ReleaseResult result )
+    {
+        this.result = result;
+    }
+}

Propchange: maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ViewReleaseResultAction.java
------------------------------------------------------------------------------
    svn:eol-style = native

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=443226&r1=443225&r2=443226
==============================================================================
--- 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 Wed Sep 13 21:31:48 2006
@@ -333,6 +333,10 @@
       <result name="finished">performReleaseFinished.jsp</result>
     </action>
 
+    <action name="viewReleaseResult" class="viewReleaseResult">
+      <result name="success">viewReleaseResult.jsp</result>
+    </action>
+
   </package>
 
   <package name="component" extends="default">

Modified: maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/performReleaseFinished.jsp
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/performReleaseFinished.jsp?view=diff&rev=443226&r1=443225&r2=443226
==============================================================================
--- maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/performReleaseFinished.jsp (original)
+++ maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/performReleaseFinished.jsp Wed Sep 13 21:31:48 2006
@@ -38,6 +38,14 @@
             </ww:iterator>
           </table>
         </div>
+
+        <p>
+          <ww:url id="viewReleaseResultUrl" action="viewReleaseResult" namespace="/">
+            <ww:param name="releaseId" value="releaseId"/>
+          </ww:url>
+          <ww:a href="%{viewReleaseResultUrl}">View Release Output</ww:a>
+        </p>
+
         <ww:submit value="Done"/>
       </ww:form>
     </body>

Modified: maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/prepareReleaseFinished.jsp
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/prepareReleaseFinished.jsp?view=diff&rev=443226&r1=443225&r2=443226
==============================================================================
--- maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/prepareReleaseFinished.jsp (original)
+++ maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/prepareReleaseFinished.jsp Wed Sep 13 21:31:48 2006
@@ -39,6 +39,14 @@
             </ww:iterator>
           </table>
         </div>
+
+        <p>
+          <ww:url id="viewReleaseResultUrl" action="viewReleaseResult" namespace="/">
+            <ww:param name="releaseId" value="releaseId"/>
+          </ww:url>
+          <ww:a href="%{viewReleaseResultUrl}">View Release Output</ww:a>
+        </p>
+
         <ww:submit value="Done"/>
       </ww:form>
     </body>

Added: maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/viewReleaseResult.jsp
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/viewReleaseResult.jsp?view=auto&rev=443226
==============================================================================
--- maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/viewReleaseResult.jsp (added)
+++ maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/viewReleaseResult.jsp Wed Sep 13 21:31:48 2006
@@ -0,0 +1,42 @@
+<%@ taglib uri="/webwork" prefix="ww" %>
+<%@ taglib uri="/tld/extremecomponents" prefix="ec" %>
+<%@ taglib uri='http://java.sun.com/jsp/jstl/core' prefix='c'%>
+<%@ taglib uri="continuum" prefix="c1" %>
+<html>
+  <ww:i18n name="localization.Continuum">
+    <head>
+        <title><ww:text name="viewReleaseResult.page.title"/></title>
+    </head>
+    <body>
+      <h2>Continuum Release</h2>
+
+      <h4><ww:text name="buildResult.buildOutput"/></h4>
+      <div class="axial">
+        <table border="1" cellspacing="2" cellpadding="3" width="100%">
+          <c1:data label="%{getText('buildResult.startTime')}">
+              <ww:param name="after"><c1:date name="result.startTime"/></ww:param>
+          </c1:data>
+          <c1:data label="%{getText('buildResult.endTime')}">
+              <ww:param name="after"><c1:date name="result.endTime"/></ww:param>
+          </c1:data>
+          <c1:data label="%{getText('buildResult.state')}">
+              <ww:param name="after"><ww:property value="result.resultCode"/></ww:param>
+          </c1:data>
+        </table>
+      </div>
+
+      <h4><ww:text name="result.buildOutput"/></h4>
+      <p>
+        <ww:if test="result.output == ''">
+            <ww:text name="buildResult.noOutput"/>
+        </ww:if>
+        <ww:else>
+          <div style="width:100%; height:500px; overflow:auto; border-style: solid; border-width: 1px">
+            <code><pre><ww:property value="result.output"/></pre></code>
+          </div>
+        </ww:else>
+      </p>
+
+    </body>
+  </ww:i18n>
+</html>

Propchange: maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/viewReleaseResult.jsp
------------------------------------------------------------------------------
    svn:eol-style = native



Re: svn commit: r443226 - in /maven/continuum/branches/release-integration/continuum: continuum-api/src/main/java/org/apache/maven/continuum/release/ continuum-release/src/main/java/org/apache/maven/continuum/release/ continuum-release/src/main/java/org/ap...

Posted by Brett Porter <br...@apache.org>.
On 14/09/2006, at 2:31 PM, epunzalan@apache.org wrote:

> Modified: maven/continuum/branches/release-integration/continuum/ 
> continuum-release/src/main/java/org/apache/maven/continuum/release/ 
> DefaultContinuumReleaseManager.java
> URL: http://svn.apache.org/viewvc/maven/continuum/branches/release- 
> integration/continuum/continuum-release/src/main/java/org/apache/ 
> maven/continuum/release/DefaultContinuumReleaseManager.java? 
> view=diff&rev=443226&r1=443225&r2=443226
> ====================================================================== 
> ========
> --- maven/continuum/branches/release-integration/continuum/ 
> continuum-release/src/main/java/org/apache/maven/continuum/release/ 
> DefaultContinuumReleaseManager.java (original)
> +++ maven/continuum/branches/release-integration/continuum/ 
> continuum-release/src/main/java/org/apache/maven/continuum/release/ 
> DefaultContinuumReleaseManager.java Wed Sep 13 21:31:48 2006
> @@ -58,6 +58,12 @@
>       */
>      private static Map preparedReleases;
>
> +    /**
> +     * contains results
> +     * @todo remove static when singleton strategy is working
> +     */
> +    private static Map releaseResults;
> +
>      public String prepare( Project project, Properties  
> releaseProperties, Map relVersions,
>                             Map devVersions,  
> ContinuumReleaseManagerListener listener )
>          throws ContinuumReleaseException
> @@ -142,9 +148,14 @@
>          return preparedReleases;
>      }
>
> -    public void setPreparedReleases( Map preparedReleases )
> +    public Map getReleaseResults()
>      {
> -        this.preparedReleases = preparedReleases;
> +        if ( releaseResults == null )
> +        {
> +            releaseResults = new Hashtable();
> +        }
> +
> +        return releaseResults;
>      }

Maybe I'm misunderstanding, but are release results really a  
singleton? I thought they were specific to an execution of the release.

- Brett