You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@continuum.apache.org by ca...@apache.org on 2006/09/15 03:57:29 UTC
svn commit: r446408 - in /maven/continuum/trunk:
continuum-api/src/main/java/org/apache/maven/continuum/
continuum-api/src/main/java/org/apache/maven/continuum/release/
continuum-plexus-application/src/conf/ continuum-release/
continuum-release/src/mai...
Author: carlos
Date: Thu Sep 14 18:57:23 2006
New Revision: 446408
URL: http://svn.apache.org/viewvc?view=rev&rev=446408
Log:
[CONTINUUM-727] Merged rev# 439241-443311 from https://svn.apache.org/repos/asf/maven/continuum/branches/release-integration/continuum
Added:
maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/release/
- copied from r443311, maven/continuum/branches/release-integration/continuum/continuum-api/src/main/java/org/apache/maven/continuum/release/
maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/release/ContinuumReleaseException.java
- copied unchanged from r443311, maven/continuum/branches/release-integration/continuum/continuum-api/src/main/java/org/apache/maven/continuum/release/ContinuumReleaseException.java
maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/release/ContinuumReleaseManager.java
- copied unchanged from r443311, maven/continuum/branches/release-integration/continuum/continuum-api/src/main/java/org/apache/maven/continuum/release/ContinuumReleaseManager.java
maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/release/ContinuumReleaseManagerListener.java
- copied unchanged from r443311, maven/continuum/branches/release-integration/continuum/continuum-api/src/main/java/org/apache/maven/continuum/release/ContinuumReleaseManagerListener.java
maven/continuum/trunk/continuum-release/src/main/java/org/apache/maven/continuum/release/DefaultReleaseManagerListener.java
- copied unchanged from r443311, maven/continuum/branches/release-integration/continuum/continuum-release/src/main/java/org/apache/maven/continuum/release/DefaultReleaseManagerListener.java
maven/continuum/trunk/continuum-release/src/main/java/org/apache/maven/continuum/release/executors/AbstractReleaseTaskExecutor.java
- copied unchanged from r443311, maven/continuum/branches/release-integration/continuum/continuum-release/src/main/java/org/apache/maven/continuum/release/executors/AbstractReleaseTaskExecutor.java
maven/continuum/trunk/continuum-release/src/main/java/org/apache/maven/continuum/release/executors/ReleaseTaskExecutor.java
- copied unchanged from r443311, maven/continuum/branches/release-integration/continuum/continuum-release/src/main/java/org/apache/maven/continuum/release/executors/ReleaseTaskExecutor.java
maven/continuum/trunk/continuum-release/src/test/java/org/apache/maven/continuum/release/
- copied from r443311, maven/continuum/branches/release-integration/continuum/continuum-release/src/test/java/org/apache/maven/continuum/release/
maven/continuum/trunk/continuum-release/src/test/java/org/apache/maven/continuum/release/executors/
- copied from r443311, maven/continuum/branches/release-integration/continuum/continuum-release/src/test/java/org/apache/maven/continuum/release/executors/
maven/continuum/trunk/continuum-release/src/test/java/org/apache/maven/continuum/release/executors/ReleaseTaskExecutorTest.java
- copied unchanged from r443311, maven/continuum/branches/release-integration/continuum/continuum-release/src/test/java/org/apache/maven/continuum/release/executors/ReleaseTaskExecutorTest.java
maven/continuum/trunk/continuum-release/src/test/scm/
- copied from r443311, maven/continuum/branches/release-integration/continuum/continuum-release/src/test/scm/
maven/continuum/trunk/continuum-release/src/test/scm/README.txt
- copied unchanged from r443311, maven/continuum/branches/release-integration/continuum/continuum-release/src/test/scm/README.txt
maven/continuum/trunk/continuum-release/src/test/scm/conf/
- copied from r443311, maven/continuum/branches/release-integration/continuum/continuum-release/src/test/scm/conf/
maven/continuum/trunk/continuum-release/src/test/scm/conf/authz
- copied unchanged from r443311, maven/continuum/branches/release-integration/continuum/continuum-release/src/test/scm/conf/authz
maven/continuum/trunk/continuum-release/src/test/scm/conf/passwd
- copied unchanged from r443311, maven/continuum/branches/release-integration/continuum/continuum-release/src/test/scm/conf/passwd
maven/continuum/trunk/continuum-release/src/test/scm/conf/svnserve.conf
- copied unchanged from r443311, maven/continuum/branches/release-integration/continuum/continuum-release/src/test/scm/conf/svnserve.conf
maven/continuum/trunk/continuum-release/src/test/scm/dav/
- copied from r443311, maven/continuum/branches/release-integration/continuum/continuum-release/src/test/scm/dav/
maven/continuum/trunk/continuum-release/src/test/scm/db/
- copied from r443311, maven/continuum/branches/release-integration/continuum/continuum-release/src/test/scm/db/
maven/continuum/trunk/continuum-release/src/test/scm/db/current
- copied unchanged from r443311, maven/continuum/branches/release-integration/continuum/continuum-release/src/test/scm/db/current
maven/continuum/trunk/continuum-release/src/test/scm/db/format
- copied unchanged from r443311, maven/continuum/branches/release-integration/continuum/continuum-release/src/test/scm/db/format
maven/continuum/trunk/continuum-release/src/test/scm/db/fs-type
- copied unchanged from r443311, maven/continuum/branches/release-integration/continuum/continuum-release/src/test/scm/db/fs-type
maven/continuum/trunk/continuum-release/src/test/scm/db/revprops/
- copied from r443311, maven/continuum/branches/release-integration/continuum/continuum-release/src/test/scm/db/revprops/
maven/continuum/trunk/continuum-release/src/test/scm/db/revprops/0
- copied unchanged from r443311, maven/continuum/branches/release-integration/continuum/continuum-release/src/test/scm/db/revprops/0
maven/continuum/trunk/continuum-release/src/test/scm/db/revprops/1
- copied unchanged from r443311, maven/continuum/branches/release-integration/continuum/continuum-release/src/test/scm/db/revprops/1
maven/continuum/trunk/continuum-release/src/test/scm/db/revprops/2
- copied unchanged from r443311, maven/continuum/branches/release-integration/continuum/continuum-release/src/test/scm/db/revprops/2
maven/continuum/trunk/continuum-release/src/test/scm/db/revs/
- copied from r443311, maven/continuum/branches/release-integration/continuum/continuum-release/src/test/scm/db/revs/
maven/continuum/trunk/continuum-release/src/test/scm/db/revs/0
- copied unchanged from r443311, maven/continuum/branches/release-integration/continuum/continuum-release/src/test/scm/db/revs/0
maven/continuum/trunk/continuum-release/src/test/scm/db/revs/1
- copied unchanged from r443311, maven/continuum/branches/release-integration/continuum/continuum-release/src/test/scm/db/revs/1
maven/continuum/trunk/continuum-release/src/test/scm/db/revs/2
- copied unchanged from r443311, maven/continuum/branches/release-integration/continuum/continuum-release/src/test/scm/db/revs/2
maven/continuum/trunk/continuum-release/src/test/scm/db/transactions/
- copied from r443311, maven/continuum/branches/release-integration/continuum/continuum-release/src/test/scm/db/transactions/
maven/continuum/trunk/continuum-release/src/test/scm/db/transactions/readme.txt
- copied unchanged from r443311, maven/continuum/branches/release-integration/continuum/continuum-release/src/test/scm/db/transactions/readme.txt
maven/continuum/trunk/continuum-release/src/test/scm/db/uuid
- copied unchanged from r443311, maven/continuum/branches/release-integration/continuum/continuum-release/src/test/scm/db/uuid
maven/continuum/trunk/continuum-release/src/test/scm/db/write-lock
- copied unchanged from r443311, maven/continuum/branches/release-integration/continuum/continuum-release/src/test/scm/db/write-lock
maven/continuum/trunk/continuum-release/src/test/scm/format
- copied unchanged from r443311, maven/continuum/branches/release-integration/continuum/continuum-release/src/test/scm/format
maven/continuum/trunk/continuum-release/src/test/scm/hooks/
- copied from r443311, maven/continuum/branches/release-integration/continuum/continuum-release/src/test/scm/hooks/
maven/continuum/trunk/continuum-release/src/test/scm/hooks/post-commit.tmpl
- copied unchanged from r443311, maven/continuum/branches/release-integration/continuum/continuum-release/src/test/scm/hooks/post-commit.tmpl
maven/continuum/trunk/continuum-release/src/test/scm/hooks/post-lock.tmpl
- copied unchanged from r443311, maven/continuum/branches/release-integration/continuum/continuum-release/src/test/scm/hooks/post-lock.tmpl
maven/continuum/trunk/continuum-release/src/test/scm/hooks/post-revprop-change.tmpl
- copied unchanged from r443311, maven/continuum/branches/release-integration/continuum/continuum-release/src/test/scm/hooks/post-revprop-change.tmpl
maven/continuum/trunk/continuum-release/src/test/scm/hooks/post-unlock.tmpl
- copied unchanged from r443311, maven/continuum/branches/release-integration/continuum/continuum-release/src/test/scm/hooks/post-unlock.tmpl
maven/continuum/trunk/continuum-release/src/test/scm/hooks/pre-commit.tmpl
- copied unchanged from r443311, maven/continuum/branches/release-integration/continuum/continuum-release/src/test/scm/hooks/pre-commit.tmpl
maven/continuum/trunk/continuum-release/src/test/scm/hooks/pre-lock.tmpl
- copied unchanged from r443311, maven/continuum/branches/release-integration/continuum/continuum-release/src/test/scm/hooks/pre-lock.tmpl
maven/continuum/trunk/continuum-release/src/test/scm/hooks/pre-revprop-change.tmpl
- copied unchanged from r443311, maven/continuum/branches/release-integration/continuum/continuum-release/src/test/scm/hooks/pre-revprop-change.tmpl
maven/continuum/trunk/continuum-release/src/test/scm/hooks/pre-unlock.tmpl
- copied unchanged from r443311, maven/continuum/branches/release-integration/continuum/continuum-release/src/test/scm/hooks/pre-unlock.tmpl
maven/continuum/trunk/continuum-release/src/test/scm/hooks/start-commit.tmpl
- copied unchanged from r443311, maven/continuum/branches/release-integration/continuum/continuum-release/src/test/scm/hooks/start-commit.tmpl
maven/continuum/trunk/continuum-release/src/test/scm/locks/
- copied from r443311, maven/continuum/branches/release-integration/continuum/continuum-release/src/test/scm/locks/
maven/continuum/trunk/continuum-release/src/test/scm/locks/db-logs.lock
- copied unchanged from r443311, maven/continuum/branches/release-integration/continuum/continuum-release/src/test/scm/locks/db-logs.lock
maven/continuum/trunk/continuum-release/src/test/scm/locks/db.lock
- copied unchanged from r443311, maven/continuum/branches/release-integration/continuum/continuum-release/src/test/scm/locks/db.lock
maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/PerformReleaseAction.java
- copied unchanged from r443311, maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/PerformReleaseAction.java
maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/PrepareReleaseAction.java
- copied unchanged from r443311, maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/PrepareReleaseAction.java
maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleaseProjectAction.java
- copied unchanged from r443311, maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleaseProjectAction.java
maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ViewReleaseResultAction.java
- copied unchanged from r443311, maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ViewReleaseResultAction.java
maven/continuum/trunk/continuum-webapp/src/main/webapp/images/releaseproject.gif
- copied unchanged from r443311, maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/images/releaseproject.gif
maven/continuum/trunk/continuum-webapp/src/main/webapp/images/releaseproject_disabled.gif
- copied unchanged from r443311, maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/images/releaseproject_disabled.gif
maven/continuum/trunk/continuum-webapp/src/main/webapp/performRelease.jsp
- copied unchanged from r443311, maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/performRelease.jsp
maven/continuum/trunk/continuum-webapp/src/main/webapp/performReleaseFinished.jsp
- copied unchanged from r443311, maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/performReleaseFinished.jsp
maven/continuum/trunk/continuum-webapp/src/main/webapp/performReleaseProgress.jsp
- copied unchanged from r443311, maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/performReleaseProgress.jsp
maven/continuum/trunk/continuum-webapp/src/main/webapp/prepareRelease.jsp
- copied unchanged from r443311, maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/prepareRelease.jsp
maven/continuum/trunk/continuum-webapp/src/main/webapp/prepareReleaseFinished.jsp
- copied unchanged from r443311, maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/prepareReleaseFinished.jsp
maven/continuum/trunk/continuum-webapp/src/main/webapp/prepareReleaseProgress.jsp
- copied unchanged from r443311, maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/prepareReleaseProgress.jsp
maven/continuum/trunk/continuum-webapp/src/main/webapp/releaseProject.jsp
- copied unchanged from r443311, maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/releaseProject.jsp
maven/continuum/trunk/continuum-webapp/src/main/webapp/releaseResult.jsp
- copied unchanged from r443311, maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/releaseResult.jsp
maven/continuum/trunk/continuum-webapp/src/main/webapp/viewReleaseResult.jsp
- copied unchanged from r443311, maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/viewReleaseResult.jsp
Removed:
maven/continuum/trunk/continuum-release/src/main/java/org/apache/maven/continuum/release/ContinuumReleaseException.java
maven/continuum/trunk/continuum-release/src/main/java/org/apache/maven/continuum/release/ContinuumReleaseManager.java
maven/continuum/trunk/continuum-release/src/main/java/org/apache/maven/continuum/release/ContinuumReleaseResult.java
maven/continuum/trunk/continuum-release/src/test/java/org/apache/maven/continuum/ContinuumReleaseManagerTest.java
Modified:
maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/Continuum.java
maven/continuum/trunk/continuum-plexus-application/src/conf/application.xml
maven/continuum/trunk/continuum-release/pom.xml
maven/continuum/trunk/continuum-release/src/main/java/org/apache/maven/continuum/release/DefaultContinuumReleaseManager.java
maven/continuum/trunk/continuum-release/src/main/java/org/apache/maven/continuum/release/executors/PerformReleaseTaskExecutor.java
maven/continuum/trunk/continuum-release/src/main/java/org/apache/maven/continuum/release/executors/PrepareReleaseTaskExecutor.java
maven/continuum/trunk/continuum-release/src/main/java/org/apache/maven/continuum/release/tasks/AbstractReleaseProjectTask.java
maven/continuum/trunk/continuum-release/src/main/java/org/apache/maven/continuum/release/tasks/PerformReleaseProjectTask.java
maven/continuum/trunk/continuum-release/src/main/java/org/apache/maven/continuum/release/tasks/PrepareReleaseProjectTask.java
maven/continuum/trunk/continuum-release/src/main/resources/META-INF/plexus/components.xml
maven/continuum/trunk/continuum-webapp/src/main/resources/META-INF/plexus/application.xml
maven/continuum/trunk/continuum-webapp/src/main/resources/localization/Continuum.properties
maven/continuum/trunk/continuum-webapp/src/main/resources/xwork.xml
maven/continuum/trunk/continuum-webapp/src/main/webapp/components/projectSummaryComponent.jsp
Modified: maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/Continuum.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/Continuum.java?view=diff&rev=446408&r1=446407&r2=446408
==============================================================================
--- maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/Continuum.java (original)
+++ maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/Continuum.java Thu Sep 14 18:57:23 2006
@@ -27,6 +27,7 @@
import org.apache.maven.continuum.model.system.UserGroup;
import org.apache.maven.continuum.project.builder.ContinuumProjectBuildingResult;
import org.apache.maven.continuum.security.ContinuumSecurity;
+import org.apache.maven.continuum.release.ContinuumReleaseManager;
import org.codehaus.plexus.util.dag.CycleDetectedException;
import java.io.File;
@@ -381,4 +382,9 @@
void removeUserGroup( int userGroupId )
throws ContinuumException;
+
+ // ----------------------------------------------------------------------
+ // Continuum Release
+ // ----------------------------------------------------------------------
+ ContinuumReleaseManager getReleaseManager();
}
Modified: maven/continuum/trunk/continuum-plexus-application/src/conf/application.xml
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-plexus-application/src/conf/application.xml?view=diff&rev=446408&r1=446407&r2=446408
==============================================================================
--- maven/continuum/trunk/continuum-plexus-application/src/conf/application.xml (original)
+++ maven/continuum/trunk/continuum-plexus-application/src/conf/application.xml Thu Sep 14 18:57:23 2006
@@ -12,6 +12,14 @@
<role>org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor</role>
<role-hint>check-out-project</role-hint>
</component>
+ <component>
+ <role>org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor</role>
+ <role-hint>prepare-release</role-hint>
+ </component>
+ <component>
+ <role>org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor</role>
+ <role-hint>perform-release</role-hint>
+ </component>
<!--
<component>
<role>org.codehaus.xfire.plexus.config.ConfigurationService</role>
Modified: maven/continuum/trunk/continuum-release/pom.xml
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-release/pom.xml?view=diff&rev=446408&r1=446407&r2=446408
==============================================================================
--- maven/continuum/trunk/continuum-release/pom.xml (original)
+++ maven/continuum/trunk/continuum-release/pom.xml Thu Sep 14 18:57:23 2006
@@ -14,6 +14,16 @@
</description>
<dependencies>
<dependency>
+ <groupId>org.apache.maven.continuum</groupId>
+ <artifactId>continuum-api</artifactId>
+ <version>1.1-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-project</artifactId>
+ <version>2.0.4</version>
+ </dependency>
+ <dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.0-beta-5-SNAPSHOT</version>
@@ -24,4 +34,12 @@
<version>1.0-alpha-3</version>
</dependency>
</dependencies>
+ <build>
+ <testResources>
+ <testResource>
+ <directory>src/test/scm</directory>
+ <targetPath>scm-src</targetPath>
+ </testResource>
+ </testResources>
+ </build>
</project>
Modified: maven/continuum/trunk/continuum-release/src/main/java/org/apache/maven/continuum/release/DefaultContinuumReleaseManager.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-release/src/main/java/org/apache/maven/continuum/release/DefaultContinuumReleaseManager.java?view=diff&rev=446408&r1=446407&r2=446408
==============================================================================
--- maven/continuum/trunk/continuum-release/src/main/java/org/apache/maven/continuum/release/DefaultContinuumReleaseManager.java (original)
+++ maven/continuum/trunk/continuum-release/src/main/java/org/apache/maven/continuum/release/DefaultContinuumReleaseManager.java Thu Sep 14 18:57:23 2006
@@ -16,51 +16,33 @@
* limitations under the License.
*/
-import org.apache.maven.plugins.release.ReleaseManager;
-import org.apache.maven.plugins.release.ReleaseExecutionException;
-import org.apache.maven.plugins.release.ReleaseFailureException;
+import org.apache.maven.continuum.model.project.Project;
+import org.apache.maven.continuum.release.tasks.PerformReleaseProjectTask;
+import org.apache.maven.continuum.release.tasks.PrepareReleaseProjectTask;
+import org.apache.maven.plugins.release.ReleaseManagerListener;
import org.apache.maven.plugins.release.config.ReleaseDescriptor;
-import org.apache.maven.profiles.DefaultProfileManager;
-import org.apache.maven.profiles.ProfileManager;
-import org.apache.maven.project.MavenProjectBuilder;
-import org.apache.maven.project.ProjectBuildingException;
-import org.apache.maven.project.MavenProject;
-import org.apache.maven.settings.Settings;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.repository.DefaultArtifactRepository;
-import org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout;
-import org.codehaus.plexus.PlexusConstants;
-import org.codehaus.plexus.PlexusContainer;
-import org.codehaus.plexus.context.Context;
-import org.codehaus.plexus.context.ContextException;
-import org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable;
+import org.apache.maven.plugins.release.config.io.xpp3.ReleaseDescriptorXpp3Reader;
import org.codehaus.plexus.taskqueue.TaskQueue;
+import org.codehaus.plexus.taskqueue.TaskQueueException;
+import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
-import java.util.Map;
-import java.util.List;
-import java.util.Iterator;
-import java.util.ArrayList;
import java.io.File;
+import java.io.FileReader;
+import java.io.IOException;
+import java.util.Hashtable;
+import java.util.Map;
+import java.util.Properties;
/**
* @author Jason van Zyl
+ * @author Edwin Punzalan
*/
public class DefaultContinuumReleaseManager
- implements ContinuumReleaseManager, Contextualizable
+ implements ContinuumReleaseManager
{
/**
* @plexus.requirement
*/
- private MavenProjectBuilder projectBuilder;
-
- /**
- * @plexus.requirement
- */
- private ReleaseManager releaseManager;
-
- /**
- * @plexus.requirement
- */
private TaskQueue prepareReleaseQueue;
/**
@@ -68,120 +50,153 @@
*/
private TaskQueue performReleaseQueue;
+ private Map listeners;
+
/**
- * @plexus.configuration
+ * contains previous release:prepare descriptors; one per project
+ * @todo remove static when singleton strategy is working
*/
- private String localRepository;
-
- private PlexusContainer container;
+ private static Map preparedReleases;
/**
- * contains previous release:prepare descriptors; one per project
+ * contains results
+ * @todo remove static when singleton strategy is working
*/
- private Map preparedReleases;
+ private static Map releaseResults;
- public void prepare( ReleaseDescriptor descriptor, Settings settings )
+ public String prepare( Project project, Properties releaseProperties, Map relVersions,
+ Map devVersions, ContinuumReleaseManagerListener listener )
throws ContinuumReleaseException
{
+ String releaseId = project.getGroupId() + ":" + project.getArtifactId();
+
+ ReleaseDescriptor descriptor = getReleaseDescriptor( project, releaseProperties, relVersions, devVersions );
+
+ getListeners().put( releaseId, listener );
+
try
{
- releaseManager.prepare( descriptor, settings, getReactorProjects( descriptor, settings ) );
+ prepareReleaseQueue.put( new PrepareReleaseProjectTask( releaseId, descriptor,
+ (ReleaseManagerListener) listener ) );
+
}
- catch ( ReleaseExecutionException e )
+ catch ( TaskQueueException e )
{
- throw new ContinuumReleaseException( "Release Manager Execution error occurred.", e );
+ throw new ContinuumReleaseException( "Failed to add prepare release task in queue.", e );
}
- catch ( ReleaseFailureException e )
+
+ return releaseId;
+ }
+
+ public void perform( String releaseId, File buildDirectory, String goals, boolean useReleaseProfile,
+ ContinuumReleaseManagerListener listener )
+ throws ContinuumReleaseException
+ {
+ ReleaseDescriptor descriptor = (ReleaseDescriptor) getPreparedReleases().get( releaseId );
+ if ( descriptor != null )
{
- throw new ContinuumReleaseException( "Release Manager failure occurred.", e );
+ perform( releaseId, descriptor, buildDirectory, goals, useReleaseProfile, listener );
}
}
- public void perform( ReleaseDescriptor descriptor, Settings settings, File buildDirectory,
- String goals, boolean useReleaseProfile )
+ public void perform( String releaseId, File descriptorFile, File buildDirectory,
+ String goals, boolean useReleaseProfile, ContinuumReleaseManagerListener listener )
throws ContinuumReleaseException
{
+ ReleaseDescriptor descriptor;
try
{
- releaseManager.perform( descriptor, settings, getReactorProjects( descriptor, settings ),
- new File( buildDirectory, "checkout" ), goals, useReleaseProfile );
+ descriptor = new ReleaseDescriptorXpp3Reader().read( new FileReader( descriptorFile ) );
}
- catch ( ReleaseExecutionException e )
+ catch ( IOException e )
{
- throw new ContinuumReleaseException( "Release Manager Execution error occurred.", e );
+ throw new ContinuumReleaseException( "Failed to parse descriptor file.", e );
}
- catch ( ReleaseFailureException e )
+ catch ( XmlPullParserException e )
{
- throw new ContinuumReleaseException( "Release Manager failure occurred.", e );
+ throw new ContinuumReleaseException( "Failed to parse descriptor file.", e );
}
+
+ perform( releaseId, descriptor, buildDirectory, goals, useReleaseProfile, listener );
}
- private List getReactorProjects( ReleaseDescriptor descriptor, Settings settings )
+ private void perform( String releaseId, ReleaseDescriptor descriptor, File buildDirectory,
+ String goals, boolean useReleaseProfile, ContinuumReleaseManagerListener listener )
throws ContinuumReleaseException
{
- List reactorProjects = new ArrayList();
-
- MavenProject project;
try
{
- project = projectBuilder.build( getProjectDescriptorFile( descriptor ),
- getLocalRepository(), getProfileManager( settings ) );
+ getListeners().put( releaseId, listener );
- reactorProjects.add( project );
+ performReleaseQueue.put( new PerformReleaseProjectTask( releaseId, descriptor, buildDirectory,
+ goals, useReleaseProfile,
+ (ReleaseManagerListener) listener ) );
}
- catch ( ProjectBuildingException e )
+ catch ( TaskQueueException e )
{
- throw new ContinuumReleaseException( "Failed to build project.", e );
+ throw new ContinuumReleaseException( "Failed to add perform release task in queue.", e );
}
+ }
- for( Iterator modules = project.getModules().iterator(); modules.hasNext(); )
+ public Map getPreparedReleases()
+ {
+ if ( preparedReleases == null )
{
- String moduleDir = modules.next().toString();
-
- File pomFile = new File( project.getBasedir(), moduleDir );
+ preparedReleases = new Hashtable();
+ }
- try
- {
- projectBuilder.build( pomFile, getLocalRepository(), getProfileManager( settings ) );
+ return preparedReleases;
+ }
- reactorProjects.add( projectBuilder );
- }
- catch ( ProjectBuildingException e )
- {
- throw new ContinuumReleaseException( "Failed to build project.", e );
- }
+ public Map getReleaseResults()
+ {
+ if ( releaseResults == null )
+ {
+ releaseResults = new Hashtable();
}
- return reactorProjects;
+ return releaseResults;
}
- private File getProjectDescriptorFile( ReleaseDescriptor descriptor )
+ private ReleaseDescriptor getReleaseDescriptor( Project project, Properties releaseProperties,
+ Map relVersions, Map devVersions )
{
- String parentPath = descriptor.getWorkingDirectory();
+ ReleaseDescriptor descriptor = new ReleaseDescriptor();
- String pomFilename = descriptor.getPomFileName();
- if ( pomFilename == null )
+ //release properties from the project
+ descriptor.setWorkingDirectory( project.getWorkingDirectory() );
+ descriptor.setScmSourceUrl( project.getScmUrl() );
+
+ //required properties
+ descriptor.setScmReleaseLabel( releaseProperties.getProperty( "tag" ) );
+ descriptor.setScmTagBase( releaseProperties.getProperty( "tagBase" ) );
+ descriptor.setReleaseVersions( relVersions );
+ descriptor.setDevelopmentVersions( devVersions );
+ descriptor.setPreparationGoals( releaseProperties.getProperty( "prepareGoals" ) );
+
+ //other properties
+ if ( releaseProperties.containsKey( "username" ) )
{
- pomFilename = "pom.xml";
+ descriptor.setScmUsername( releaseProperties.getProperty( "username" ) );
+ }
+ if ( releaseProperties.containsKey( "password" ) )
+ {
+ descriptor.setScmPassword( releaseProperties.getProperty( "password" ) );
}
- return new File( parentPath, pomFilename );
- }
+ //forced properties
+ descriptor.setInteractive( false );
- private ArtifactRepository getLocalRepository()
- {
- return new DefaultArtifactRepository( "local-repository", "file://" + localRepository,
- new DefaultRepositoryLayout() );
+ return descriptor;
}
- private ProfileManager getProfileManager( Settings settings )
+ public Map getListeners()
{
- return new DefaultProfileManager( container, settings );
- }
+ if ( listeners == null )
+ {
+ listeners = new Hashtable();
+ }
- public void contextualize( Context context )
- throws ContextException
- {
- container = (PlexusContainer) context.get( PlexusConstants.PLEXUS_KEY );
+ return listeners;
}
}
Modified: maven/continuum/trunk/continuum-release/src/main/java/org/apache/maven/continuum/release/executors/PerformReleaseTaskExecutor.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-release/src/main/java/org/apache/maven/continuum/release/executors/PerformReleaseTaskExecutor.java?view=diff&rev=446408&r1=446407&r2=446408
==============================================================================
--- maven/continuum/trunk/continuum-release/src/main/java/org/apache/maven/continuum/release/executors/PerformReleaseTaskExecutor.java (original)
+++ maven/continuum/trunk/continuum-release/src/main/java/org/apache/maven/continuum/release/executors/PerformReleaseTaskExecutor.java Thu Sep 14 18:57:23 2006
@@ -16,19 +16,62 @@
* limitations under the License.
*/
-import org.codehaus.plexus.taskqueue.execution.TaskExecutor;
-import org.codehaus.plexus.taskqueue.execution.TaskExecutionException;
+import org.apache.maven.continuum.release.ContinuumReleaseException;
+import org.apache.maven.continuum.release.tasks.PerformReleaseProjectTask;
+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
*/
public class PerformReleaseTaskExecutor
- implements TaskExecutor
+ extends AbstractReleaseTaskExecutor
{
public void executeTask( Task task )
throws TaskExecutionException
{
+ PerformReleaseProjectTask performTask = (PerformReleaseProjectTask) task;
+
+ ReleaseDescriptor descriptor = performTask.getDescriptor();
+
+ Settings settings;
+ try
+ {
+ settings = getSettings();
+ }
+ catch ( ContinuumReleaseException e )
+ {
+ throw new TaskExecutionException( "Failed to build reactor projects.", e );
+ }
+
+ List reactorProjects;
+ try
+ {
+ reactorProjects = getReactorProjects( descriptor );
+ }
+ catch ( ContinuumReleaseException e )
+ {
+ throw new TaskExecutionException( "Failed to build reactor projects.", e );
+ }
+
+ ReleaseManagerListener listener = performTask.getListener();
+
+ ReleaseResult result =
+ releasePluginManager.performWithResult( descriptor, settings, reactorProjects,
+ performTask.getBuildDirectory(), performTask.getGoals(),
+ performTask.isUseReleaseProfile(), listener );
+
+ if ( result.getResultCode() == ReleaseResult.SUCCESS )
+ {
+ continuumReleaseManager.getReleaseResults().put( performTask.getReleaseId(), result );
+ continuumReleaseManager.getPreparedReleases().remove( performTask.getReleaseId() );
+ }
}
}
Modified: maven/continuum/trunk/continuum-release/src/main/java/org/apache/maven/continuum/release/executors/PrepareReleaseTaskExecutor.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-release/src/main/java/org/apache/maven/continuum/release/executors/PrepareReleaseTaskExecutor.java?view=diff&rev=446408&r1=446407&r2=446408
==============================================================================
--- maven/continuum/trunk/continuum-release/src/main/java/org/apache/maven/continuum/release/executors/PrepareReleaseTaskExecutor.java (original)
+++ maven/continuum/trunk/continuum-release/src/main/java/org/apache/maven/continuum/release/executors/PrepareReleaseTaskExecutor.java Thu Sep 14 18:57:23 2006
@@ -16,19 +16,76 @@
* limitations under the License.
*/
-import org.codehaus.plexus.taskqueue.execution.TaskExecutor;
-import org.codehaus.plexus.taskqueue.execution.TaskExecutionException;
+import org.apache.maven.continuum.release.ContinuumReleaseException;
+import org.apache.maven.continuum.release.tasks.PrepareReleaseProjectTask;
+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
*/
public class PrepareReleaseTaskExecutor
- implements TaskExecutor
+ extends AbstractReleaseTaskExecutor
{
public void executeTask( Task task )
throws TaskExecutionException
{
+ PrepareReleaseProjectTask prepareTask = (PrepareReleaseProjectTask) task;
+
+ ReleaseManagerListener listener = prepareTask.getListener();
+
+ Settings settings;
+ try
+ {
+ settings = getSettings();
+ }
+ 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 );
+ }
+
+ ReleaseDescriptor descriptor = prepareTask.getDescriptor();
+
+ List reactorProjects;
+ try
+ {
+ 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/trunk/continuum-release/src/main/java/org/apache/maven/continuum/release/tasks/AbstractReleaseProjectTask.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-release/src/main/java/org/apache/maven/continuum/release/tasks/AbstractReleaseProjectTask.java?view=diff&rev=446408&r1=446407&r2=446408
==============================================================================
--- maven/continuum/trunk/continuum-release/src/main/java/org/apache/maven/continuum/release/tasks/AbstractReleaseProjectTask.java (original)
+++ maven/continuum/trunk/continuum-release/src/main/java/org/apache/maven/continuum/release/tasks/AbstractReleaseProjectTask.java Thu Sep 14 18:57:23 2006
@@ -16,33 +16,28 @@
* limitations under the License.
*/
+import org.apache.maven.plugins.release.ReleaseManagerListener;
import org.apache.maven.plugins.release.config.ReleaseDescriptor;
-import org.apache.maven.settings.Settings;
import org.codehaus.plexus.taskqueue.Task;
-import java.util.List;
-
/**
* @author Edwin Punzalan
*/
public abstract class AbstractReleaseProjectTask
implements Task
{
- private int projectId;
+ private String releaseId;
private ReleaseDescriptor descriptor;
- private Settings settings;
-
- private List reactorProjects;
+ private ReleaseManagerListener listener;
- public AbstractReleaseProjectTask( int projectId, ReleaseDescriptor descriptor,
- Settings settings, List reactorProjects )
+ public AbstractReleaseProjectTask( String releaseId, ReleaseDescriptor descriptor,
+ ReleaseManagerListener listener )
{
- this.projectId = projectId;
+ this.releaseId = releaseId;
this.descriptor = descriptor;
- this.settings = settings;
- this.reactorProjects = reactorProjects;
+ this.listener = listener;
}
public ReleaseDescriptor getDescriptor()
@@ -55,33 +50,23 @@
this.descriptor = descriptor;
}
- public int getProjectId()
- {
- return projectId;
- }
-
- public void setProjectId( int projectId )
- {
- this.projectId = projectId;
- }
-
- public Settings getSettings()
+ public String getReleaseId()
{
- return settings;
+ return releaseId;
}
- public void setSettings( Settings settings )
+ public void setReleaseId( String releaseId )
{
- this.settings = settings;
+ this.releaseId = releaseId;
}
- public List getReactorProjects()
+ public ReleaseManagerListener getListener()
{
- return reactorProjects;
+ return listener;
}
- public void setReactorProjects( List reactorProjects )
+ public void setListener( ReleaseManagerListener listener )
{
- this.reactorProjects = reactorProjects;
+ this.listener = listener;
}
}
Modified: maven/continuum/trunk/continuum-release/src/main/java/org/apache/maven/continuum/release/tasks/PerformReleaseProjectTask.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-release/src/main/java/org/apache/maven/continuum/release/tasks/PerformReleaseProjectTask.java?view=diff&rev=446408&r1=446407&r2=446408
==============================================================================
--- maven/continuum/trunk/continuum-release/src/main/java/org/apache/maven/continuum/release/tasks/PerformReleaseProjectTask.java (original)
+++ maven/continuum/trunk/continuum-release/src/main/java/org/apache/maven/continuum/release/tasks/PerformReleaseProjectTask.java Thu Sep 14 18:57:23 2006
@@ -16,10 +16,10 @@
* limitations under the License.
*/
+import org.apache.maven.plugins.release.ReleaseManagerListener;
import org.apache.maven.plugins.release.config.ReleaseDescriptor;
-import org.apache.maven.settings.Settings;
-import java.util.List;
+import java.io.File;
/**
* @author Edwin Punzalan
@@ -27,17 +27,19 @@
public class PerformReleaseProjectTask
extends AbstractReleaseProjectTask
{
+ private File buildDirectory;
+
private String goals;
private boolean useReleaseProfile = true;
- public PerformReleaseProjectTask( int projectId, ReleaseDescriptor descriptor,
- Settings settings, List reactorProjects,
- String goals, boolean useReleaseProfile )
+ public PerformReleaseProjectTask( String releaseId, ReleaseDescriptor descriptor, File buildDirectory,
+ String goals, boolean useReleaseProfile, ReleaseManagerListener listener )
{
- super( projectId, descriptor, settings, reactorProjects );
- this.goals = goals;
- this.useReleaseProfile = useReleaseProfile;
+ super( releaseId, descriptor, listener );
+ setBuildDirectory( buildDirectory );
+ setGoals( goals );
+ setUseReleaseProfile( useReleaseProfile );
}
public String getGoals()
@@ -58,5 +60,15 @@
public void setUseReleaseProfile( boolean useReleaseProfile )
{
this.useReleaseProfile = useReleaseProfile;
+ }
+
+ public File getBuildDirectory()
+ {
+ return buildDirectory;
+ }
+
+ public void setBuildDirectory( File buildDirectory )
+ {
+ this.buildDirectory = buildDirectory;
}
}
Modified: maven/continuum/trunk/continuum-release/src/main/java/org/apache/maven/continuum/release/tasks/PrepareReleaseProjectTask.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-release/src/main/java/org/apache/maven/continuum/release/tasks/PrepareReleaseProjectTask.java?view=diff&rev=446408&r1=446407&r2=446408
==============================================================================
--- maven/continuum/trunk/continuum-release/src/main/java/org/apache/maven/continuum/release/tasks/PrepareReleaseProjectTask.java (original)
+++ maven/continuum/trunk/continuum-release/src/main/java/org/apache/maven/continuum/release/tasks/PrepareReleaseProjectTask.java Thu Sep 14 18:57:23 2006
@@ -16,10 +16,8 @@
* limitations under the License.
*/
+import org.apache.maven.plugins.release.ReleaseManagerListener;
import org.apache.maven.plugins.release.config.ReleaseDescriptor;
-import org.apache.maven.settings.Settings;
-
-import java.util.List;
/**
* @author Edwin Punzalan
@@ -27,9 +25,9 @@
public class PrepareReleaseProjectTask
extends AbstractReleaseProjectTask
{
- public PrepareReleaseProjectTask( int projectId, ReleaseDescriptor descriptor,
- Settings settings, List reactorProjects )
+ public PrepareReleaseProjectTask( String releaseId, ReleaseDescriptor descriptor,
+ ReleaseManagerListener listener )
{
- super( projectId, descriptor, settings, reactorProjects );
+ super( releaseId, descriptor, listener );
}
}
Modified: maven/continuum/trunk/continuum-release/src/main/resources/META-INF/plexus/components.xml
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-release/src/main/resources/META-INF/plexus/components.xml?view=diff&rev=446408&r1=446407&r2=446408
==============================================================================
--- maven/continuum/trunk/continuum-release/src/main/resources/META-INF/plexus/components.xml (original)
+++ maven/continuum/trunk/continuum-release/src/main/resources/META-INF/plexus/components.xml Thu Sep 14 18:57:23 2006
@@ -6,121 +6,144 @@
<implementation>org.apache.maven.continuum.release.DefaultContinuumReleaseManager</implementation>
<requirements>
<requirement>
- <role>org.apache.maven.project.MavenProjectBuilder</role>
+ <role>org.codehaus.plexus.taskqueue.TaskQueue</role>
+ <role-hint>prepare-release</role-hint>
+ <field-name>prepareReleaseQueue</field-name>
</requirement>
<requirement>
- <role>org.apache.maven.plugins.release.ReleaseManager</role>
+ <role>org.codehaus.plexus.taskqueue.TaskQueue</role>
+ <role-hint>perform-release</role-hint>
+ <field-name>performReleaseQueue</field-name>
</requirement>
+ </requirements>
+ </component>
+
+ <!--
+ |
+ | Prepare Release Project Task Queue
+ |
+ |-->
+
+ <component>
+ <role>org.codehaus.plexus.taskqueue.TaskQueue</role>
+ <role-hint>prepare-release</role-hint>
+ <implementation>org.codehaus.plexus.taskqueue.DefaultTaskQueue</implementation>
+ <lifecycle-handler>plexus-configurable</lifecycle-handler>
+ <configuration>
+ <task-entry-evaluators>
+ </task-entry-evaluators>
+ <task-exit-evaluators>
+ </task-exit-evaluators>
+ <task-viability-evaluators>
+ </task-viability-evaluators>
+ </configuration>
+ </component>
+
+ <component>
+ <role>org.codehaus.plexus.taskqueue.execution.TaskExecutor</role>
+ <role-hint>prepare-release</role-hint>
+ <implementation>org.apache.maven.continuum.release.executors.PrepareReleaseTaskExecutor</implementation>
+ <requirements>
<requirement>
- <role>org.apache.maven.continuum.execution.maven.m2.MavenBuilderHelper</role>
+ <role>org.apache.maven.continuum.release.ContinuumReleaseManager</role>
+ </requirement>
+ <requirement>
+ <role>org.apache.maven.plugins.release.ReleaseManager</role>
+ </requirement>
+ <requirement>
+ <role>org.apache.maven.project.MavenProjectBuilder</role>
+ </requirement>
+ <requirement>
+ <role>org.apache.maven.settings.MavenSettingsBuilder</role>
+ </requirement>
+ </requirements>
+ <configuration>
+ <local-repository>${plexus.home}/local-repository</local-repository>
+ </configuration>
+ </component>
+
+ <component>
+ <role>org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor</role>
+ <role-hint>prepare-release</role-hint>
+ <implementation>org.codehaus.plexus.taskqueue.execution.ThreadedTaskQueueExecutor</implementation>
+ <requirements>
+ <requirement>
+ <role>org.codehaus.plexus.taskqueue.execution.TaskExecutor</role>
+ <role-hint>prepare-release</role-hint>
</requirement>
<requirement>
<role>org.codehaus.plexus.taskqueue.TaskQueue</role>
- <role-hint>perpare-release</role-hint>
- <field-name>prepareReleaseQueue</field-name>
+ <role-hint>prepare-release</role-hint>
+ </requirement>
+ </requirements>
+ <configuration>
+ <name>prepare-release</name>
+ </configuration>
+ </component>
+
+ <!--
+ |
+ | Perform Release Project Task Queue
+ |
+ |-->
+
+ <component>
+ <role>org.codehaus.plexus.taskqueue.TaskQueue</role>
+ <role-hint>perform-release</role-hint>
+ <implementation>org.codehaus.plexus.taskqueue.DefaultTaskQueue</implementation>
+ <lifecycle-handler>plexus-configurable</lifecycle-handler>
+ <configuration>
+ <task-entry-evaluators>
+ </task-entry-evaluators>
+ <task-exit-evaluators>
+ </task-exit-evaluators>
+ <task-viability-evaluators>
+ </task-viability-evaluators>
+ </configuration>
+ </component>
+
+ <component>
+ <role>org.codehaus.plexus.taskqueue.execution.TaskExecutor</role>
+ <role-hint>perform-release</role-hint>
+ <implementation>org.apache.maven.continuum.release.executors.PerformReleaseTaskExecutor</implementation>
+ <requirements>
+ <requirement>
+ <role>org.apache.maven.continuum.release.ContinuumReleaseManager</role>
+ </requirement>
+ <requirement>
+ <role>org.apache.maven.plugins.release.ReleaseManager</role>
+ </requirement>
+ <requirement>
+ <role>org.apache.maven.project.MavenProjectBuilder</role>
+ </requirement>
+ <requirement>
+ <role>org.apache.maven.settings.MavenSettingsBuilder</role>
+ </requirement>
+ </requirements>
+ <configuration>
+ <local-repository>${plexus.home}/local-repository</local-repository>
+ </configuration>
+ </component>
+
+ <component>
+ <role>org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor</role>
+ <role-hint>perform-release</role-hint>
+ <implementation>org.codehaus.plexus.taskqueue.execution.ThreadedTaskQueueExecutor</implementation>
+ <requirements>
+ <requirement>
+ <role>org.codehaus.plexus.taskqueue.execution.TaskExecutor</role>
+ <role-hint>perform-release</role-hint>
</requirement>
<requirement>
<role>org.codehaus.plexus.taskqueue.TaskQueue</role>
<role-hint>perform-release</role-hint>
- <field-name>performReleaseQueue</field-name>
</requirement>
</requirements>
<configuration>
- <local-repository>${plexus.home}/local-repository</local-repository>
+ <name>perform-release</name>
</configuration>
</component>
- </components>
- <!--
- |
- | Prepare Release Project Task Queue
- |
- |-->
-
- <component>
- <role>org.codehaus.plexus.taskqueue.TaskQueue</role>
- <role-hint>prepare-release</role-hint>
- <implementation>org.codehaus.plexus.taskqueue.DefaultTaskQueue</implementation>
- <lifecycle-handler>plexus-configurable</lifecycle-handler>
- <configuration>
- <task-entry-evaluators>
- </task-entry-evaluators>
- <task-exit-evaluators>
- </task-exit-evaluators>
- <task-viability-evaluators>
- </task-viability-evaluators>
- </configuration>
- </component>
-
- <component>
- <role>org.codehaus.plexus.taskqueue.execution.TaskExecutor</role>
- <role-hint>prepare-release</role-hint>
- <implementation>org.apache.maven.continuum.release.executors.PrepareReleaseTaskExecutor</implementation>
- </component>
-
- <component>
- <role>org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor</role>
- <role-hint>prepare-release</role-hint>
- <implementation>org.codehaus.plexus.taskqueue.execution.ThreadedTaskQueueExecutor</implementation>
- <requirements>
- <requirement>
- <role>org.codehaus.plexus.taskqueue.execution.TaskExecutor</role>
- <role-hint>prepare-release</role-hint>
- </requirement>
- <requirement>
- <role>org.codehaus.plexus.taskqueue.TaskQueue</role>
- <role-hint>prepare-release</role-hint>
- </requirement>
- </requirements>
- <configuration>
- <name>prepare-release</name>
- </configuration>
- </component>
-
- <!--
- |
- | Perform Release Project Task Queue
- |
- |-->
-
- <component>
- <role>org.codehaus.plexus.taskqueue.TaskQueue</role>
- <role-hint>perform-release</role-hint>
- <implementation>org.codehaus.plexus.taskqueue.DefaultTaskQueue</implementation>
- <lifecycle-handler>plexus-configurable</lifecycle-handler>
- <configuration>
- <task-entry-evaluators>
- </task-entry-evaluators>
- <task-exit-evaluators>
- </task-exit-evaluators>
- <task-viability-evaluators>
- </task-viability-evaluators>
- </configuration>
- </component>
-
- <component>
- <role>org.codehaus.plexus.taskqueue.execution.TaskExecutor</role>
- <role-hint>perform-release</role-hint>
- <implementation>org.apache.maven.continuum.release.executors.PerformReleaseTaskExecutor</implementation>
- </component>
-
- <component>
- <role>org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor</role>
- <role-hint>perform-release</role-hint>
- <implementation>org.codehaus.plexus.taskqueue.execution.ThreadedTaskQueueExecutor</implementation>
- <requirements>
- <requirement>
- <role>org.codehaus.plexus.taskqueue.execution.TaskExecutor</role>
- <role-hint>perform-release</role-hint>
- </requirement>
- <requirement>
- <role>org.codehaus.plexus.taskqueue.TaskQueue</role>
- <role-hint>perform-release</role-hint>
- </requirement>
- </requirements>
- <configuration>
- <name>perform-release</name>
- </configuration>
- </component>
+ </components>
</component-set>
Modified: maven/continuum/trunk/continuum-webapp/src/main/resources/META-INF/plexus/application.xml
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-webapp/src/main/resources/META-INF/plexus/application.xml?view=diff&rev=446408&r1=446407&r2=446408
==============================================================================
--- maven/continuum/trunk/continuum-webapp/src/main/resources/META-INF/plexus/application.xml (original)
+++ maven/continuum/trunk/continuum-webapp/src/main/resources/META-INF/plexus/application.xml Thu Sep 14 18:57:23 2006
@@ -14,6 +14,14 @@
<component>
<role>org.apache.maven.continuum.web.xmlrpc.XmlRpcService</role>
</component>
+ <component>
+ <role>org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor</role>
+ <role-hint>prepare-release</role-hint>
+ </component>
+ <component>
+ <role>org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor</role>
+ <role-hint>perform-release</role-hint>
+ </component>
</load-on-start>
<components>
Modified: maven/continuum/trunk/continuum-webapp/src/main/resources/localization/Continuum.properties
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-webapp/src/main/resources/localization/Continuum.properties?view=diff&rev=446408&r1=446407&r2=446408
==============================================================================
--- maven/continuum/trunk/continuum-webapp/src/main/resources/localization/Continuum.properties (original)
+++ maven/continuum/trunk/continuum-webapp/src/main/resources/localization/Continuum.properties Thu Sep 14 18:57:23 2006
@@ -380,3 +380,33 @@
surefireReport.class = Class
surefireReport.testCase = Test Case
surefireReport.failureDetails = Failure Details
+
+# ----------------------------------------------------------------------
+# Page: Continuum Release Support
+# ----------------------------------------------------------------------
+releaseProject.page.title=Continuum - Release Project
+releaseProject.section.title=Choose Release Goal for {0}
+
+prepareRelease.section.title=Prepare Project Release
+prepareRelease.releaseParameters=Release Parameters
+prepareRelease.releaseVersion=Release Version*
+prepareRelease.nextDevelopmentVersion=Next Development Version*
+
+prepareReleaseProgress.section.title=Executing Prepare Project Release
+prepareReleaseFinished.section.title=Prepare Project Release Result
+
+performReleaseProgress.section.title=Executing Perform Project Release
+performReleaseFinished.section.title=Perform Project Release Result
+
+releaseProject.prepareReleaseOption=Prepare project for release
+releaseProject.performReleaseOption=Perform project release
+releaseProject.provideReleaseParameters=Project Release Parameters
+releaseProject.status=Status
+releaseProject.phase=Phase
+releaseProject.viewOutput=View Output
+
+viewReleaseResult.section.title=View Project Release Summary
+viewReleaseResult.summary=Release Project Details
+viewReleaseResult.success=SUCCESSFUL
+viewReleaseResult.error=ERROR
+viewReleaseResult.output=Release Execution Output
\ No newline at end of file
Modified: maven/continuum/trunk/continuum-webapp/src/main/resources/xwork.xml
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-webapp/src/main/resources/xwork.xml?view=diff&rev=446408&r1=446407&r2=446408
==============================================================================
--- maven/continuum/trunk/continuum-webapp/src/main/resources/xwork.xml (original)
+++ maven/continuum/trunk/continuum-webapp/src/main/resources/xwork.xml Thu Sep 14 18:57:23 2006
@@ -302,6 +302,49 @@
<result name="success" type="chain">buildResults</result>
</action>
+ <!--
+ - continuum release
+ -->
+ <action name="releaseProject" class="releaseProject">
+ <result name="prompt">releaseProject.jsp</result>
+ <result name="prepareRelease" type="redirect-action">
+ <param name="actionName">prepareRelease</param>
+ <param name="projectId">${projectId}</param>
+ </result>
+ <result name="performRelease" type="redirect-action">
+ <param name="actionName">performRelease</param>
+ <param name="projectId">${projectId}</param>
+ <param name="releaseId">${preparedReleaseId}</param>
+ </result>
+ </action>
+
+ <action name="prepareRelease" class="prepareRelease">
+ <result name="prompt">prepareRelease.jsp</result>
+ <!-- should be exec and wait -->
+ <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>
+ <!-- should be exec and wait -->
+ <result name="initialized" type="redirect-action">
+ <param name="actionName">performRelease!checkProgress.action</param>
+ <param name="releaseId">${releaseId}</param>
+ </result>
+ <result name="inProgress">performReleaseProgress.jsp</result>
+ <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/trunk/continuum-webapp/src/main/webapp/components/projectSummaryComponent.jsp
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-webapp/src/main/webapp/components/projectSummaryComponent.jsp?view=diff&rev=446408&r1=446407&r2=446408
==============================================================================
--- maven/continuum/trunk/continuum-webapp/src/main/webapp/components/projectSummaryComponent.jsp (original)
+++ maven/continuum/trunk/continuum-webapp/src/main/webapp/components/projectSummaryComponent.jsp Thu Sep 14 18:57:23 2006
@@ -55,6 +55,23 @@
</c:otherwise>
</c:choose>
</ec:column>
+ <ec:column property="releaseAction" title=" " width="1%" sortable="false">
+ <c:choose>
+ <c:when test="${pageScope.project.state == 2}">
+ <ww:url id="releaseProjectUrl" action="releaseProject!promptReleaseGoal.action" namespace="/">
+ <ww:param name="projectId" value="${project.id}"/>
+ </ww:url>
+ <ww:a href="%{releaseProjectUrl}">
+ <img src="<ww:url value='/images/releaseproject.gif'/>" alt="Release Project" title="Release Project"
+ border="0"/>
+ </ww:a>
+ </c:when>
+ <c:otherwise>
+ <img src="<ww:url value='/images/releaseproject_disabled.gif'/>" alt="Release Project"
+ title="Release Project" border="0"/>
+ </c:otherwise>
+ </c:choose>
+ </ec:column>
<ec:column property="deleteAction" title=" " width="1%" sortable="false">
<c:choose>
<c:when
@@ -74,4 +91,4 @@
</ec:column>
</ec:row>
</ec:table>
-</ww:i18n>
\ No newline at end of file
+</ww:i18n>