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/04 09:56:20 UTC
svn commit: r439968 - in
/maven/continuum/branches/release-integration/continuum:
continuum-api/src/main/java/org/apache/maven/continuum/
continuum-api/src/main/java/org/apache/maven/continuum/release/
continuum-release/ continuum-release/src/main/java...
Author: epunzalan
Date: Mon Sep 4 00:56:15 2006
New Revision: 439968
URL: http://svn.apache.org/viewvc?view=rev&rev=439968
Log:
PR: CONTINUUM-727
finished the release backend but without the unit tests... PlexusTestCase can't seem to find any of the components defined in my components.xml
Removed:
maven/continuum/branches/release-integration/continuum/continuum-release/src/test/java/org/apache/maven/continuum/ContinuumReleaseManagerTest.java
Modified:
maven/continuum/branches/release-integration/continuum/continuum-api/src/main/java/org/apache/maven/continuum/Continuum.java
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/pom.xml
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/PerformReleaseTaskExecutor.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-release/src/main/java/org/apache/maven/continuum/release/tasks/AbstractReleaseProjectTask.java
maven/continuum/branches/release-integration/continuum/continuum-release/src/main/java/org/apache/maven/continuum/release/tasks/PerformReleaseProjectTask.java
maven/continuum/branches/release-integration/continuum/continuum-release/src/main/java/org/apache/maven/continuum/release/tasks/PrepareReleaseProjectTask.java
maven/continuum/branches/release-integration/continuum/continuum-release/src/main/resources/META-INF/plexus/components.xml
maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/resources/xwork.xml
Modified: maven/continuum/branches/release-integration/continuum/continuum-api/src/main/java/org/apache/maven/continuum/Continuum.java
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-api/src/main/java/org/apache/maven/continuum/Continuum.java?view=diff&rev=439968&r1=439967&r2=439968
==============================================================================
--- maven/continuum/branches/release-integration/continuum/continuum-api/src/main/java/org/apache/maven/continuum/Continuum.java (original)
+++ maven/continuum/branches/release-integration/continuum/continuum-api/src/main/java/org/apache/maven/continuum/Continuum.java Mon Sep 4 00:56:15 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/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=439968&r1=439967&r2=439968
==============================================================================
--- 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 Mon Sep 4 00:56:15 2006
@@ -16,8 +16,7 @@
* limitations under the License.
*/
-import org.apache.maven.plugins.release.config.ReleaseDescriptor;
-import org.apache.maven.settings.Settings;
+import org.apache.maven.continuum.model.project.Project;
import java.io.File;
import java.util.Map;
@@ -28,45 +27,39 @@
*
* @author Jason van Zyl
*/
-//TODO:JW You can probably test this in isolation and then we can add methods to the main Continuum API for
-// releasing. The Core Continuum component would then have a dependency on this component and just delegate
-// to this component for release management.
public interface ContinuumReleaseManager
{
String ROLE = ContinuumReleaseManager.class.getName();
/**
- * Prepare a project for release which also updates the release descriptor
+ * Prepare a project for release
*
- * @param releaseId Release Id to be used for the action. Will be used for perform afterwards.
- * @param descriptor
- * @param settings
+ * @param project project / project group to be released
* @throws ContinuumReleaseException
*/
- void prepare( String releaseId, ReleaseDescriptor descriptor, Settings settings )
+ void prepare( Project project )
throws ContinuumReleaseException;
/**
* Perform a release based on a given releaseId
*
* @param releaseId
- * @param settings
* @param buildDirectory
* @param goals
* @param useReleaseProfile
* @throws ContinuumReleaseException
*/
- void perform( String releaseId, Settings settings, File buildDirectory,
+ void perform( String releaseId, File buildDirectory,
String goals, boolean useReleaseProfile )
throws ContinuumReleaseException;
/**
* Perform a release based on a release descriptor received by the Maven Release Plugin.
*
- * @param descriptor
+ * @param descriptorFile
* @throws ContinuumReleaseException
*/
- void perform( String releaseId, ReleaseDescriptor descriptor, Settings settings, File buildDirectory,
+ void perform( String releaseId, File descriptorFile, File buildDirectory,
String goals, boolean useReleaseProfile )
throws ContinuumReleaseException;
Modified: maven/continuum/branches/release-integration/continuum/continuum-release/pom.xml
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-release/pom.xml?view=diff&rev=439968&r1=439967&r2=439968
==============================================================================
--- maven/continuum/branches/release-integration/continuum/continuum-release/pom.xml (original)
+++ maven/continuum/branches/release-integration/continuum/continuum-release/pom.xml Mon Sep 4 00:56:15 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>
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=439968&r1=439967&r2=439968
==============================================================================
--- 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 Mon Sep 4 00:56:15 2006
@@ -16,33 +16,18 @@
* limitations under the License.
*/
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.repository.DefaultArtifactRepository;
-import org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout;
-import org.apache.maven.plugins.release.ReleaseExecutionException;
-import org.apache.maven.plugins.release.ReleaseFailureException;
-import org.apache.maven.plugins.release.ReleaseManager;
+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.config.ReleaseDescriptor;
-import org.apache.maven.profiles.DefaultProfileManager;
-import org.apache.maven.profiles.ProfileManager;
-import org.apache.maven.project.MavenProject;
-import org.apache.maven.project.MavenProjectBuilder;
-import org.apache.maven.project.ProjectBuildingException;
-import org.apache.maven.project.ProjectSorter;
-import org.apache.maven.project.DuplicateProjectException;
-import org.apache.maven.settings.Settings;
-import org.codehaus.plexus.PlexusConstants;
-import org.codehaus.plexus.PlexusContainer;
-import org.codehaus.plexus.util.dag.CycleDetectedException;
-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.io.File;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
+import java.io.FileReader;
+import java.io.IOException;
import java.util.Map;
/**
@@ -50,21 +35,11 @@
* @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;
/**
@@ -73,133 +48,78 @@
private TaskQueue performReleaseQueue;
/**
- * @plexus.configuration
- */
- private String localRepository;
-
- private PlexusContainer container;
-
- /**
* contains previous release:prepare descriptors; one per project
*/
private Map preparedReleases;
- public void prepare( ReleaseDescriptor descriptor, Settings settings )
+ public void prepare( Project project )
throws ContinuumReleaseException
{
+ String releaseId = project.getGroupId() + ":" + project.getArtifactId();
+
try
{
- releaseManager.prepare( descriptor, settings, getReactorProjects( descriptor, settings ) );
- }
- catch ( ReleaseExecutionException e )
- {
- throw new ContinuumReleaseException( "Release Manager Execution error occurred.", e );
+ prepareReleaseQueue.put( new PrepareReleaseProjectTask( releaseId, new ReleaseDescriptor() ) );
}
- catch ( ReleaseFailureException e )
+ catch ( TaskQueueException e )
{
- throw new ContinuumReleaseException( "Release Manager failure occurred.", e );
+ throw new ContinuumReleaseException( "Failed to add prepare release task in queue.", e );
}
}
- public void perform( ReleaseDescriptor descriptor, Settings settings, File buildDirectory,
- String goals, boolean useReleaseProfile )
+ public void perform( String releaseId, File buildDirectory, String goals, boolean useReleaseProfile )
throws ContinuumReleaseException
{
- try
+ ReleaseDescriptor descriptor = (ReleaseDescriptor) preparedReleases.get( releaseId );
+ if ( descriptor != null )
{
- releaseManager.perform( descriptor, settings, getReactorProjects( descriptor, settings ),
- new File( buildDirectory, "checkout" ), goals, useReleaseProfile );
- }
- catch ( ReleaseExecutionException e )
- {
- throw new ContinuumReleaseException( "Release Manager Execution error occurred.", e );
- }
- catch ( ReleaseFailureException e )
- {
- throw new ContinuumReleaseException( "Release Manager failure occurred.", e );
+ perform( releaseId, descriptor, buildDirectory, goals, useReleaseProfile );
}
}
- private List getReactorProjects( ReleaseDescriptor descriptor, Settings settings )
+ public void perform( String releaseId, File descriptorFile, File buildDirectory,
+ String goals, boolean useReleaseProfile )
throws ContinuumReleaseException
{
- List reactorProjects = new ArrayList();
-
- MavenProject project;
+ ReleaseDescriptor descriptor;
try
{
- project = projectBuilder.build( getProjectDescriptorFile( descriptor ),
- getLocalRepository(), getProfileManager( settings ) );
-
- reactorProjects.add( project );
+ descriptor = new ReleaseDescriptorXpp3Reader().read( new FileReader( descriptorFile ) );
}
- catch ( ProjectBuildingException e )
+ catch ( IOException e )
{
- throw new ContinuumReleaseException( "Failed to build project.", e );
+ throw new ContinuumReleaseException( "Failed to parse descriptor file.", e );
}
-
- for( Iterator modules = project.getModules().iterator(); modules.hasNext(); )
+ catch ( XmlPullParserException e )
{
- String moduleDir = modules.next().toString();
-
- File pomFile = new File( project.getBasedir(), moduleDir + "/pom.xml" );
-
- try
- {
- MavenProject reactorProject = projectBuilder.build( pomFile, getLocalRepository(),
- getProfileManager( settings ) );
-
- reactorProjects.add( reactorProject );
- }
- catch ( ProjectBuildingException e )
- {
- throw new ContinuumReleaseException( "Failed to build project.", e );
- }
+ throw new ContinuumReleaseException( "Failed to parse descriptor file.", e );
}
- try
- {
- reactorProjects = new ProjectSorter( reactorProjects ).getSortedProjects();
- }
- catch ( CycleDetectedException e )
- {
- throw new ContinuumReleaseException( "Failed to sort projects.", e );
- }
- catch ( DuplicateProjectException e )
- {
- throw new ContinuumReleaseException( "Failed to sort projects.", e );
- }
-
- return reactorProjects;
+ perform( releaseId, descriptor, buildDirectory, goals, useReleaseProfile );
}
- private File getProjectDescriptorFile( ReleaseDescriptor descriptor )
+ private void perform( String releaseId, ReleaseDescriptor descriptor, File buildDirectory,
+ String goals, boolean useReleaseProfile )
+ throws ContinuumReleaseException
{
- String parentPath = descriptor.getWorkingDirectory();
-
- String pomFilename = descriptor.getPomFileName();
- if ( pomFilename == null )
+ try
{
- pomFilename = "pom.xml";
+ performReleaseQueue.put( new PerformReleaseProjectTask( releaseId, descriptor, buildDirectory,
+ goals, useReleaseProfile ) );
+ }
+ catch ( TaskQueueException e )
+ {
+ throw new ContinuumReleaseException( "Failed to add perform release task in queue.", e );
}
-
- return new File( parentPath, pomFilename );
- }
-
- private ArtifactRepository getLocalRepository()
- {
- return new DefaultArtifactRepository( "local-repository", "file://" + localRepository,
- new DefaultRepositoryLayout() );
}
- private ProfileManager getProfileManager( Settings settings )
+ public Map getPreparedReleases()
{
- return new DefaultProfileManager( container, settings );
+ return preparedReleases;
}
- public void contextualize( Context context )
- throws ContextException
+ public void setPreparedReleases( Map preparedReleases )
{
- container = (PlexusContainer) context.get( PlexusConstants.PLEXUS_KEY );
+ this.preparedReleases = preparedReleases;
}
}
Modified: maven/continuum/branches/release-integration/continuum/continuum-release/src/main/java/org/apache/maven/continuum/release/executors/PerformReleaseTaskExecutor.java
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-release/src/main/java/org/apache/maven/continuum/release/executors/PerformReleaseTaskExecutor.java?view=diff&rev=439968&r1=439967&r2=439968
==============================================================================
--- maven/continuum/branches/release-integration/continuum/continuum-release/src/main/java/org/apache/maven/continuum/release/executors/PerformReleaseTaskExecutor.java (original)
+++ maven/continuum/branches/release-integration/continuum/continuum-release/src/main/java/org/apache/maven/continuum/release/executors/PerformReleaseTaskExecutor.java Mon Sep 4 00:56:15 2006
@@ -16,19 +16,46 @@
* 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.ReleaseExecutionException;
+import org.apache.maven.plugins.release.ReleaseFailureException;
+import org.apache.maven.plugins.release.config.ReleaseDescriptor;
import org.codehaus.plexus.taskqueue.Task;
+import org.codehaus.plexus.taskqueue.execution.TaskExecutionException;
/**
* @author Edwin Punzalan
*/
public class PerformReleaseTaskExecutor
- implements TaskExecutor
+ extends AbstractReleaseTaskExecutor
{
public void executeTask( Task task )
throws TaskExecutionException
{
+ try
+ {
+ PerformReleaseProjectTask performTask = (PerformReleaseProjectTask) task;
+
+ ReleaseDescriptor descriptor = performTask.getDescriptor();
+
+ releasePluginManager.perform( descriptor, getSettings(), getReactorProjects( descriptor ),
+ performTask.getBuildDirectory(), performTask.getGoals(),
+ performTask.isUseReleaseProfile() );
+ continuumReleaseManager.getPreparedReleases().remove( performTask.getReleaseId() );
+ }
+ catch ( ReleaseExecutionException e )
+ {
+ throw new TaskExecutionException( "Release Manager Execution error occurred.", e );
+ }
+ catch ( ReleaseFailureException e )
+ {
+ throw new TaskExecutionException( "Release Manager failure occurred.", e );
+ }
+ catch ( ContinuumReleaseException e )
+ {
+ throw new TaskExecutionException( "Failed to build reactor projects.", e );
+ }
}
}
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=439968&r1=439967&r2=439968
==============================================================================
--- 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 Mon Sep 4 00:56:15 2006
@@ -16,19 +16,44 @@
* 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.ReleaseExecutionException;
+import org.apache.maven.plugins.release.ReleaseFailureException;
+import org.apache.maven.plugins.release.config.ReleaseDescriptor;
import org.codehaus.plexus.taskqueue.Task;
+import org.codehaus.plexus.taskqueue.execution.TaskExecutionException;
/**
* @author Edwin Punzalan
*/
public class PrepareReleaseTaskExecutor
- implements TaskExecutor
+ extends AbstractReleaseTaskExecutor
{
public void executeTask( Task task )
throws TaskExecutionException
{
+ try
+ {
+ PrepareReleaseProjectTask prepareTask = (PrepareReleaseProjectTask) task;
+
+ ReleaseDescriptor descriptor = prepareTask.getDescriptor();
+
+ releasePluginManager.prepare( descriptor, getSettings(), getReactorProjects( descriptor ) );
+ continuumReleaseManager.getPreparedReleases().put( prepareTask.getReleaseId(), descriptor );
+ }
+ catch ( ReleaseExecutionException e )
+ {
+ throw new TaskExecutionException( "Release Manager Execution error occurred.", e );
+ }
+ catch ( ReleaseFailureException e )
+ {
+ throw new TaskExecutionException( "Release Manager failure occurred.", e );
+ }
+ catch ( ContinuumReleaseException e )
+ {
+ throw new TaskExecutionException( "Failed to build reactor projects.", e );
+ }
}
}
Modified: maven/continuum/branches/release-integration/continuum/continuum-release/src/main/java/org/apache/maven/continuum/release/tasks/AbstractReleaseProjectTask.java
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-release/src/main/java/org/apache/maven/continuum/release/tasks/AbstractReleaseProjectTask.java?view=diff&rev=439968&r1=439967&r2=439968
==============================================================================
--- maven/continuum/branches/release-integration/continuum/continuum-release/src/main/java/org/apache/maven/continuum/release/tasks/AbstractReleaseProjectTask.java (original)
+++ maven/continuum/branches/release-integration/continuum/continuum-release/src/main/java/org/apache/maven/continuum/release/tasks/AbstractReleaseProjectTask.java Mon Sep 4 00:56:15 2006
@@ -17,32 +17,22 @@
*/
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;
-
- public AbstractReleaseProjectTask( int projectId, ReleaseDescriptor descriptor,
- Settings settings, List reactorProjects )
+ public AbstractReleaseProjectTask( String releaseId, ReleaseDescriptor descriptor )
{
- this.projectId = projectId;
+ this.releaseId = releaseId;
this.descriptor = descriptor;
- this.settings = settings;
- this.reactorProjects = reactorProjects;
}
public ReleaseDescriptor getDescriptor()
@@ -55,33 +45,13 @@
this.descriptor = descriptor;
}
- public int getProjectId()
- {
- return projectId;
- }
-
- public void setProjectId( int projectId )
- {
- this.projectId = projectId;
- }
-
- public Settings getSettings()
- {
- return settings;
- }
-
- public void setSettings( Settings settings )
- {
- this.settings = settings;
- }
-
- public List getReactorProjects()
+ public String getReleaseId()
{
- return reactorProjects;
+ return releaseId;
}
- public void setReactorProjects( List reactorProjects )
+ public void setReleaseId( String releaseId )
{
- this.reactorProjects = reactorProjects;
+ this.releaseId = releaseId;
}
}
Modified: maven/continuum/branches/release-integration/continuum/continuum-release/src/main/java/org/apache/maven/continuum/release/tasks/PerformReleaseProjectTask.java
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-release/src/main/java/org/apache/maven/continuum/release/tasks/PerformReleaseProjectTask.java?view=diff&rev=439968&r1=439967&r2=439968
==============================================================================
--- maven/continuum/branches/release-integration/continuum/continuum-release/src/main/java/org/apache/maven/continuum/release/tasks/PerformReleaseProjectTask.java (original)
+++ maven/continuum/branches/release-integration/continuum/continuum-release/src/main/java/org/apache/maven/continuum/release/tasks/PerformReleaseProjectTask.java Mon Sep 4 00:56:15 2006
@@ -17,9 +17,8 @@
*/
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 +26,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,
+ public PerformReleaseProjectTask( String releaseId, ReleaseDescriptor descriptor, File buildDirectory,
String goals, boolean useReleaseProfile )
{
- super( projectId, descriptor, settings, reactorProjects );
- this.goals = goals;
- this.useReleaseProfile = useReleaseProfile;
+ super( releaseId, descriptor );
+ setBuildDirectory( buildDirectory );
+ setGoals( goals );
+ setUseReleaseProfile( useReleaseProfile );
}
public String getGoals()
@@ -58,5 +59,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/branches/release-integration/continuum/continuum-release/src/main/java/org/apache/maven/continuum/release/tasks/PrepareReleaseProjectTask.java
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-release/src/main/java/org/apache/maven/continuum/release/tasks/PrepareReleaseProjectTask.java?view=diff&rev=439968&r1=439967&r2=439968
==============================================================================
--- maven/continuum/branches/release-integration/continuum/continuum-release/src/main/java/org/apache/maven/continuum/release/tasks/PrepareReleaseProjectTask.java (original)
+++ maven/continuum/branches/release-integration/continuum/continuum-release/src/main/java/org/apache/maven/continuum/release/tasks/PrepareReleaseProjectTask.java Mon Sep 4 00:56:15 2006
@@ -17,9 +17,6 @@
*/
import org.apache.maven.plugins.release.config.ReleaseDescriptor;
-import org.apache.maven.settings.Settings;
-
-import java.util.List;
/**
* @author Edwin Punzalan
@@ -27,9 +24,8 @@
public class PrepareReleaseProjectTask
extends AbstractReleaseProjectTask
{
- public PrepareReleaseProjectTask( int projectId, ReleaseDescriptor descriptor,
- Settings settings, List reactorProjects )
+ public PrepareReleaseProjectTask( String releaseId, ReleaseDescriptor descriptor )
{
- super( projectId, descriptor, settings, reactorProjects );
+ super( releaseId, descriptor );
}
}
Modified: maven/continuum/branches/release-integration/continuum/continuum-release/src/main/resources/META-INF/plexus/components.xml
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-release/src/main/resources/META-INF/plexus/components.xml?view=diff&rev=439968&r1=439967&r2=439968
==============================================================================
--- maven/continuum/branches/release-integration/continuum/continuum-release/src/main/resources/META-INF/plexus/components.xml (original)
+++ maven/continuum/branches/release-integration/continuum/continuum-release/src/main/resources/META-INF/plexus/components.xml Mon Sep 4 00:56:15 2006
@@ -6,12 +6,6 @@
<implementation>org.apache.maven.continuum.release.DefaultContinuumReleaseManager</implementation>
<requirements>
<requirement>
- <role>org.apache.maven.project.MavenProjectBuilder</role>
- </requirement>
- <requirement>
- <role>org.apache.maven.plugins.release.ReleaseManager</role>
- </requirement>
- <requirement>
<role>org.apache.maven.continuum.execution.maven.m2.MavenBuilderHelper</role>
</requirement>
<requirement>
@@ -25,9 +19,6 @@
<field-name>performReleaseQueue</field-name>
</requirement>
</requirements>
- <configuration>
- <local-repository>${plexus.home}/local-repository</local-repository>
- </configuration>
</component>
</components>
@@ -53,9 +44,26 @@
</component>
<component>
- <role>org.codehaus.plexus.taskqueue.execution.TaskExecutor</role>
+ <role>org.apache.maven.continuum.release.executors.ReleaseTaskExecutor</role>
<role-hint>prepare-release</role-hint>
<implementation>org.apache.maven.continuum.release.executors.PrepareReleaseTaskExecutor</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>
@@ -99,9 +107,26 @@
</component>
<component>
- <role>org.codehaus.plexus.taskqueue.execution.TaskExecutor</role>
+ <role>org.apache.maven.continuum.release.executors.ReleaseTaskExecutor</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>
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=439968&r1=439967&r2=439968
==============================================================================
--- 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 4 00:56:15 2006
@@ -294,6 +294,17 @@
<result name="success" type="chain">schedules</result>
</action>
+ <!--
+ - continuum release
+ -->
+ <action name="prepareRelease" class="prepareRelease">
+ <result name="success">prepareRelease.jsp</result>
+ </action>
+
+ <action name="performRelease" class="performRelease">
+ <result name="success">performRelease.jsp</result>
+ </action>
+
</package>
<package name="component" extends="default">