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