You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@continuum.apache.org by oc...@apache.org on 2008/12/16 06:30:58 UTC

svn commit: r726965 - in /continuum/branches/continuum-parallel-builds: continuum-api/src/main/java/org/apache/continuum/buildmanager/BuildsManager.java continuum-core/src/main/java/org/apache/continuum/buildmanager/ParallelBuildsManager.java

Author: oching
Date: Mon Dec 15 21:30:58 2008
New Revision: 726965

URL: http://svn.apache.org/viewvc?rev=726965&view=rev
Log:
implement cancel prepare builds in builds manager

Modified:
    continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/continuum/buildmanager/BuildsManager.java
    continuum/branches/continuum-parallel-builds/continuum-core/src/main/java/org/apache/continuum/buildmanager/ParallelBuildsManager.java

Modified: continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/continuum/buildmanager/BuildsManager.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/continuum/buildmanager/BuildsManager.java?rev=726965&r1=726964&r2=726965&view=diff
==============================================================================
--- continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/continuum/buildmanager/BuildsManager.java (original)
+++ continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/continuum/buildmanager/BuildsManager.java Mon Dec 15 21:30:58 2008
@@ -135,7 +135,7 @@
 
     // public boolean cancelPrepareBuild(int projectId) throws BuildManagerException;
 
-    // public boolean cancelAllPrepareBuilds() throws BuildManagerException;
+    boolean cancelAllPrepareBuilds() throws BuildManagerException;
 
     /**
      * Removes the project from the build queue.
@@ -199,11 +199,10 @@
      */
     void removeProjectsFromCheckoutQueueWithHashcodes( int[] hashcodes )
         throws BuildManagerException;
+    
+    /*void removeProjectFromPrepareBuildQueue( int projectId ) throws BuildManagerException;
 
-    // TODO: implement this!
-    // public void removeProjectFromPrepareBuildQueue( int projectId );
-
-    // public void removeProjectsFromPrepareBuildQueue( int[] projectIds );
+    void removeProjectsFromPrepareBuildQueue( int[] projectIds ) throws BuildManagerException;*/
 
     /**
      * Add an overall build queue.

Modified: continuum/branches/continuum-parallel-builds/continuum-core/src/main/java/org/apache/continuum/buildmanager/ParallelBuildsManager.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-parallel-builds/continuum-core/src/main/java/org/apache/continuum/buildmanager/ParallelBuildsManager.java?rev=726965&r1=726964&r2=726965&view=diff
==============================================================================
--- continuum/branches/continuum-parallel-builds/continuum-core/src/main/java/org/apache/continuum/buildmanager/ParallelBuildsManager.java (original)
+++ continuum/branches/continuum-parallel-builds/continuum-core/src/main/java/org/apache/continuum/buildmanager/ParallelBuildsManager.java Mon Dec 15 21:30:58 2008
@@ -49,6 +49,7 @@
 import org.codehaus.plexus.taskqueue.Task;
 import org.codehaus.plexus.taskqueue.TaskQueue;
 import org.codehaus.plexus.taskqueue.TaskQueueException;
+import org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor;
 import org.codehaus.plexus.taskqueue.execution.ThreadedTaskQueueExecutor;
 import org.codehaus.plexus.util.StringUtils;
 import org.slf4j.Logger;
@@ -621,13 +622,9 @@
             throw new BuildManagerException( "Error encountered while removing project(s) from build queue.", e );
         }
     }
-
+    
     public void addOverallBuildQueue( OverallBuildQueue overallBuildQueue )
-    {
-        // set the container which is used by overall build queue for getting the task queue executor
-        // trying to avoid implementing Contextualizable for the OverallBuildQueue! 
-        //overallBuildQueue.setContainer( container );
-
+    {   
         synchronized ( overallBuildQueues )
         {
             if ( overallBuildQueues.get( overallBuildQueue.getId() ) == null )
@@ -824,10 +821,30 @@
             return checkoutsInQueue;
         }
     }
+    
+    public boolean cancelAllPrepareBuilds() throws BuildManagerException
+    {
+        try
+        {
+            TaskQueueExecutor executor = ( TaskQueueExecutor ) container.lookup( TaskQueueExecutor.class, "prepare-build-project" );
+            Task task = executor.getCurrentTask();            
+            if( task != null )
+            {
+                executor.cancelTask( task );
+            }
+        }
+        catch ( ComponentLookupException e )
+        {
+            throw new BuildManagerException( "Error looking up prepare-build-queue.", e );
+        }
+        
+        return false;
+    }
 
     public boolean isBuildInProgress()
         throws BuildManagerException
-    {
+    {        
+        //TODO!
         return false;
     }