You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@continuum.apache.org by ev...@apache.org on 2005/10/24 11:55:03 UTC
svn commit: r328019 - in /maven/continuum/trunk:
continuum-core/src/main/java/org/apache/maven/continuum/
continuum-core/src/main/java/org/apache/maven/continuum/buildcontroller/
continuum-core/src/main/java/org/apache/maven/continuum/core/action/ cont...
Author: evenisse
Date: Mon Oct 24 02:54:55 2005
New Revision: 328019
URL: http://svn.apache.org/viewcvs?rev=328019&view=rev
Log:
[CONTINUUM-268] Set project state before build request returns
Modified:
maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/DefaultContinuum.java
maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/buildcontroller/DefaultBuildController.java
maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/core/action/CheckoutProjectContinuumAction.java
maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/core/action/ExecuteBuilderContinuumAction.java
maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/core/action/UpdateWorkingDirectoryFromScmContinuumAction.java
maven/continuum/trunk/continuum-model/src/main/mdo/continuum.mdo
Modified: maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/DefaultContinuum.java
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/DefaultContinuum.java?rev=328019&r1=328018&r2=328019&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/DefaultContinuum.java (original)
+++ maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/DefaultContinuum.java Mon Oct 24 02:54:55 2005
@@ -341,6 +341,12 @@
{
Project project = store.getProject( projectId );
+ project.setOldState( project.getState() );
+
+ project.setState( ContinuumProjectState.BUILDING );
+
+ store.updateProject( project );
+
getLogger().info( "Enqueuing '" + project.getName() + "' (Build definition id=" + buildDefinitionId + "." );
buildQueue.put( new BuildProjectTask( projectId, buildDefinitionId, trigger ) );
Modified: maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/buildcontroller/DefaultBuildController.java
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/buildcontroller/DefaultBuildController.java?rev=328019&r1=328018&r2=328019&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/buildcontroller/DefaultBuildController.java (original)
+++ maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/buildcontroller/DefaultBuildController.java Mon Oct 24 02:54:55 2005
@@ -232,6 +232,32 @@
}
finally
{
+ try
+ {
+ project = store.getProject( projectId );
+ }
+ catch ( ContinuumStoreException ex )
+ {
+ getLogger().error( "Internal error while building the project.", ex );
+ }
+
+ if ( project.getState() != ContinuumProjectState.NEW &&
+ project.getState() != ContinuumProjectState.OK &&
+ project.getState() != ContinuumProjectState.FAILED &&
+ project.getState() != ContinuumProjectState.ERROR )
+ {
+ try
+ {
+ project.setState( ContinuumProjectState.ERROR );
+
+ store.updateProject( project );
+ }
+ catch ( ContinuumStoreException e )
+ {
+ getLogger().error( "Internal error while storing the project.", e );
+ }
+ }
+
notifierDispatcher.buildComplete( project, build );
}
}
Modified: maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/core/action/CheckoutProjectContinuumAction.java
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/core/action/CheckoutProjectContinuumAction.java?rev=328019&r1=328018&r2=328019&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/core/action/CheckoutProjectContinuumAction.java (original)
+++ maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/core/action/CheckoutProjectContinuumAction.java Mon Oct 24 02:54:55 2005
@@ -18,6 +18,7 @@
import org.apache.maven.continuum.model.project.Project;
import org.apache.maven.continuum.model.scm.ScmResult;
+import org.apache.maven.continuum.project.ContinuumProjectState;
import org.apache.maven.continuum.scm.ContinuumScm;
import org.apache.maven.continuum.scm.ContinuumScmException;
import org.apache.maven.continuum.store.ContinuumStore;
@@ -43,6 +44,12 @@
{
Project project = store.getProject( getProjectId( context ) );
+ int state = project.getState();
+
+ project.setState( ContinuumProjectState.CHECKING_OUT );
+
+ store.updateProject( project );
+
File workingDirectory = getWorkingDirectory( context );
// ----------------------------------------------------------------------
@@ -82,6 +89,12 @@
result = new ScmResult();
result.setSuccess( false );
result.setException( ContinuumUtils.throwableMessagesToString( t ) );
+ }
+ finally
+ {
+ project.setState( state );
+
+ store.updateProject( project );
}
context.put( KEY_CHECKOUT_SCM_RESULT, result );
}
Modified: maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/core/action/ExecuteBuilderContinuumAction.java
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/core/action/ExecuteBuilderContinuumAction.java?rev=328019&r1=328018&r2=328019&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/core/action/ExecuteBuilderContinuumAction.java (original)
+++ maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/core/action/ExecuteBuilderContinuumAction.java Mon Oct 24 02:54:55 2005
@@ -80,10 +80,18 @@
// This is really a precondition for this action to execute
// ----------------------------------------------------------------------
- if ( scmResult.getChanges().size() == 0 && trigger != ContinuumProjectState.TRIGGER_FORCED &&
+ if ( project.getOldState() != ContinuumProjectState.NEW &&
+ scmResult.getChanges().size() == 0 &&
+ trigger != ContinuumProjectState.TRIGGER_FORCED &&
!isNew( project ) )
{
getLogger().info( "No files updated, not building. Project id '" + project.getId() + "'." );
+
+ project.setState( project.getOldState() );
+
+ project.setOldState( 0 );
+
+ store.updateProject( project );
return;
}
Modified: maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/core/action/UpdateWorkingDirectoryFromScmContinuumAction.java
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/core/action/UpdateWorkingDirectoryFromScmContinuumAction.java?rev=328019&r1=328018&r2=328019&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/core/action/UpdateWorkingDirectoryFromScmContinuumAction.java (original)
+++ maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/core/action/UpdateWorkingDirectoryFromScmContinuumAction.java Mon Oct 24 02:54:55 2005
@@ -19,6 +19,7 @@
import org.apache.maven.continuum.model.project.Project;
import org.apache.maven.continuum.model.scm.ScmResult;
import org.apache.maven.continuum.notification.ContinuumNotificationDispatcher;
+import org.apache.maven.continuum.project.ContinuumProjectState;
import org.apache.maven.continuum.scm.ContinuumScm;
import org.apache.maven.continuum.store.ContinuumStore;
@@ -42,6 +43,12 @@
{
Project project = store.getProject( getProjectId( context ) );
+ int state = project.getState();
+
+ project.setState( ContinuumProjectState.UPDATING );
+
+ store.updateProject( project );
+
ScmResult scmResult;
try
@@ -54,6 +61,10 @@
}
finally
{
+ project.setState( state );
+
+ store.updateProject( project );
+
notifier.checkoutComplete( project );
}
}
Modified: maven/continuum/trunk/continuum-model/src/main/mdo/continuum.mdo
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-model/src/main/mdo/continuum.mdo?rev=328019&r1=328018&r2=328019&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-model/src/main/mdo/continuum.mdo (original)
+++ maven/continuum/trunk/continuum-model/src/main/mdo/continuum.mdo Mon Oct 24 02:54:55 2005
@@ -144,6 +144,11 @@
<type>int</type>
<defaultValue>1</defaultValue>
</field>
+ <field>
+ <name>oldState</name>
+ <version>1.0.0+</version>
+ <type>int</type>
+ </field>
<!-- TODO: maybe buildresult itself? -->
<field>
<name>latestBuildId</name>