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 2006/03/24 18:53:37 UTC
svn commit: r388590 - in
/maven/continuum/branches/continuum-1.0.x/continuum-core/src/main/java/org/apache/maven/continuum:
buildcontroller/DefaultBuildController.java
core/action/AbstractContinuumAction.java
core/action/ExecuteBuilderContinuumAction.java
Author: evenisse
Date: Fri Mar 24 09:53:34 2006
New Revision: 388590
URL: http://svn.apache.org/viewcvs?rev=388590&view=rev
Log:
[CONTINUUM-637] Fix build when two build definition are on the same schedule for a project and fix the merge between new scm result and other since last execution
Modified:
maven/continuum/branches/continuum-1.0.x/continuum-core/src/main/java/org/apache/maven/continuum/buildcontroller/DefaultBuildController.java
maven/continuum/branches/continuum-1.0.x/continuum-core/src/main/java/org/apache/maven/continuum/core/action/AbstractContinuumAction.java
maven/continuum/branches/continuum-1.0.x/continuum-core/src/main/java/org/apache/maven/continuum/core/action/ExecuteBuilderContinuumAction.java
Modified: maven/continuum/branches/continuum-1.0.x/continuum-core/src/main/java/org/apache/maven/continuum/buildcontroller/DefaultBuildController.java
URL: http://svn.apache.org/viewcvs/maven/continuum/branches/continuum-1.0.x/continuum-core/src/main/java/org/apache/maven/continuum/buildcontroller/DefaultBuildController.java?rev=388590&r1=388589&r2=388590&view=diff
==============================================================================
--- maven/continuum/branches/continuum-1.0.x/continuum-core/src/main/java/org/apache/maven/continuum/buildcontroller/DefaultBuildController.java (original)
+++ maven/continuum/branches/continuum-1.0.x/continuum-core/src/main/java/org/apache/maven/continuum/buildcontroller/DefaultBuildController.java Fri Mar 24 09:53:34 2006
@@ -150,6 +150,8 @@
actionContext.put( AbstractContinuumAction.KEY_TRIGGER, new Integer( trigger ) );
+ actionContext.put( AbstractContinuumAction.KEY_FIRST_RUN, Boolean.valueOf( oldBuildResult == null ) );
+
ScmResult scmResult = null;
try
@@ -179,6 +181,9 @@
// Check to see if there was a error while checking out/updating the project
// ----------------------------------------------------------------------
+ // Merge scm results so we'll have all changes since last execution of current build definition
+ scmResult = mergeScmResults( oldScmResult, scmResult );
+
if ( scmResult == null || !scmResult.isSuccess() )
{
// scmResult must be converted before sotring it because jpox modify value of all fields to null
@@ -199,9 +204,6 @@
return;
}
- // Merge scm results so we'll have all changes since last execution of current build definition
- scmResult = mergeScmResults( oldScmResult, scmResult );
-
actionContext.put( AbstractContinuumAction.KEY_UPDATE_SCM_RESULT, scmResult );
List changes = scmResult.getChanges();
@@ -243,7 +245,8 @@
}
}
- if ( allChangesUnknown && project.getOldState() != ContinuumProjectState.NEW &&
+ if ( oldBuildResult != null && allChangesUnknown &&
+ project.getOldState() != ContinuumProjectState.NEW &&
project.getOldState() != ContinuumProjectState.CHECKEDOUT &&
trigger != ContinuumProjectState.TRIGGER_FORCED &&
project.getState() != ContinuumProjectState.NEW &&
@@ -466,6 +469,11 @@
{
ChangeSet changeSet = (ChangeSet) j.next();
+ if ( changeSet.getDate() < fromDate )
+ {
+ continue;
+ }
+
if ( !res.getChanges().contains( changeSet ) )
{
res.addChange( changeSet );
@@ -483,6 +491,11 @@
{
if ( oldScmResult != null )
{
+ if ( newScmResult == null )
+ {
+ return oldScmResult;
+ }
+
List oldChanges = oldScmResult.getChanges();
List newChanges = newScmResult.getChanges();
Modified: maven/continuum/branches/continuum-1.0.x/continuum-core/src/main/java/org/apache/maven/continuum/core/action/AbstractContinuumAction.java
URL: http://svn.apache.org/viewcvs/maven/continuum/branches/continuum-1.0.x/continuum-core/src/main/java/org/apache/maven/continuum/core/action/AbstractContinuumAction.java?rev=388590&r1=388589&r2=388590&view=diff
==============================================================================
--- maven/continuum/branches/continuum-1.0.x/continuum-core/src/main/java/org/apache/maven/continuum/core/action/AbstractContinuumAction.java (original)
+++ maven/continuum/branches/continuum-1.0.x/continuum-core/src/main/java/org/apache/maven/continuum/core/action/AbstractContinuumAction.java Fri Mar 24 09:53:34 2006
@@ -63,6 +63,8 @@
public static final String KEY_TRIGGER = "trigger";
+ public static final String KEY_FIRST_RUN = "first-run";
+
// ----------------------------------------------------------------------
// Utils
// ----------------------------------------------------------------------
Modified: maven/continuum/branches/continuum-1.0.x/continuum-core/src/main/java/org/apache/maven/continuum/core/action/ExecuteBuilderContinuumAction.java
URL: http://svn.apache.org/viewcvs/maven/continuum/branches/continuum-1.0.x/continuum-core/src/main/java/org/apache/maven/continuum/core/action/ExecuteBuilderContinuumAction.java?rev=388590&r1=388589&r2=388590&view=diff
==============================================================================
--- maven/continuum/branches/continuum-1.0.x/continuum-core/src/main/java/org/apache/maven/continuum/core/action/ExecuteBuilderContinuumAction.java (original)
+++ maven/continuum/branches/continuum-1.0.x/continuum-core/src/main/java/org/apache/maven/continuum/core/action/ExecuteBuilderContinuumAction.java Fri Mar 24 09:53:34 2006
@@ -69,17 +69,21 @@
Project project = getProject( context );
+ BuildDefinition buildDefinition = getBuildDefinition( context );
+
int trigger = getTrigger( context );
ScmResult scmResult = getUpdateScmResult( context );
+ boolean isFirstRun = ( (Boolean) context.get( AbstractContinuumAction.KEY_FIRST_RUN ) ).booleanValue();
+
ContinuumBuildExecutor buildExecutor = buildExecutorManager.getBuildExecutor( project.getExecutorId() );
// ----------------------------------------------------------------------
// This is really a precondition for this action to execute
// ----------------------------------------------------------------------
- if ( project.getOldState() != ContinuumProjectState.NEW &&
+ if ( !isFirstRun && project.getOldState() != ContinuumProjectState.NEW &&
project.getOldState() != ContinuumProjectState.CHECKEDOUT && scmResult.getChanges().size() == 0 &&
trigger != ContinuumProjectState.TRIGGER_FORCED && !isNew( project ) )
{
@@ -105,8 +109,6 @@
build.setState( ContinuumProjectState.BUILDING );
build.setTrigger( trigger );
-
- BuildDefinition buildDefinition = store.getBuildDefinition( getBuildDefinitionId( context ) );
build.setScmResult( scmResult );