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 2007/09/25 20:48:19 UTC
svn commit: r579348 - in /maven/continuum/trunk:
continuum-api/src/main/java/org/apache/maven/continuum/execution/
continuum-core/src/main/java/org/apache/maven/continuum/core/action/
continuum-core/src/main/java/org/apache/maven/continuum/execution/ c...
Author: evenisse
Date: Tue Sep 25 11:48:15 2007
New Revision: 579348
URL: http://svn.apache.org/viewvc?rev=579348&view=rev
Log:
[CONTINUUM-1483] Better support for SCM like clearcase or SYNERGY
Submitted by: David Causse
Modified:
maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/execution/ContinuumBuildExecutor.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/DeployArtifactContinuumAction.java
maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/AbstractBuildExecutor.java
maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/ant/AntBuildExecutor.java
maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/maven/m1/MavenOneBuildExecutor.java
maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/maven/m2/MavenTwoBuildExecutor.java
maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/shell/ShellBuildExecutor.java
maven/continuum/trunk/continuum-data-management/continuum-legacy/src/main/mdo/continuum.xml
maven/continuum/trunk/continuum-model/src/main/mdo/continuum.xml
Modified: maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/execution/ContinuumBuildExecutor.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/execution/ContinuumBuildExecutor.java?rev=579348&r1=579347&r2=579348&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/execution/ContinuumBuildExecutor.java (original)
+++ maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/execution/ContinuumBuildExecutor.java Tue Sep 25 11:48:15 2007
@@ -19,13 +19,13 @@
* under the License.
*/
-import java.io.File;
-import java.util.List;
-
import org.apache.maven.continuum.model.project.BuildDefinition;
import org.apache.maven.continuum.model.project.Project;
import org.apache.maven.continuum.model.scm.TestResult;
+import java.io.File;
+import java.util.List;
+
/**
* @author <a href="mailto:trygvis@inamo.no">Trygve Laugstøl</a>
* @version $Id$
@@ -44,7 +44,7 @@
void killProcess( Project project );
- List getDeployableArtifacts( File workingDirectory, BuildDefinition buildDefinition )
+ List getDeployableArtifacts( Project project, File workingDirectory, BuildDefinition buildDefinition )
throws ContinuumBuildExecutorException;
TestResult getTestResults( Project project, int buildResultId )
Modified: maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/core/action/CheckoutProjectContinuumAction.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/core/action/CheckoutProjectContinuumAction.java?rev=579348&r1=579347&r2=579348&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 Tue Sep 25 11:48:15 2007
@@ -20,7 +20,6 @@
*/
import org.apache.maven.continuum.Continuum;
-import org.apache.maven.continuum.execution.ContinuumBuildExecutorConstants;
import org.apache.maven.continuum.model.project.BuildDefinition;
import org.apache.maven.continuum.model.project.Project;
import org.apache.maven.continuum.model.scm.ScmResult;
@@ -129,39 +128,14 @@
}
finally
{
- if ( oldState == ContinuumProjectState.NEW )
+ String relativePath = (String) getObject( context, KEY_PROJECT_RELATIVE_PATH, "" );
+ if ( StringUtils.isNotEmpty( relativePath ) )
{
- String relativePath = (String) getObject( context, KEY_PROJECT_RELATIVE_PATH, "" );
- if ( StringUtils.isNotEmpty( relativePath ) )
- {
- //CONTINUUM-1218 : updating only the default build definition only for new projects
- BuildDefinition bd = continuum.getDefaultBuildDefinition( project.getId() );
-
- String buildFile = "";
- if ( ContinuumBuildExecutorConstants.MAVEN_TWO_BUILD_EXECUTOR.equals( project.getExecutorId() ) )
- {
- buildFile = "pom.xml";
- bd.setType( ContinuumBuildExecutorConstants.MAVEN_TWO_BUILD_EXECUTOR );
- }
- else
- if ( ContinuumBuildExecutorConstants.MAVEN_ONE_BUILD_EXECUTOR.equals( project.getExecutorId() ) )
- {
- buildFile = "project.xml";
- bd.setType( ContinuumBuildExecutorConstants.MAVEN_ONE_BUILD_EXECUTOR );
- }
- else if ( ContinuumBuildExecutorConstants.ANT_BUILD_EXECUTOR.equals( project.getExecutorId() ) )
- {
- buildFile = "build.xml";
- bd.setType( ContinuumBuildExecutorConstants.ANT_BUILD_EXECUTOR );
- }
- else
- {
- bd.setType( ContinuumBuildExecutorConstants.SHELL_BUILD_EXECUTOR );
- }
- bd.setBuildFile( relativePath + "/" + buildFile );
- store.storeBuildDefinition( bd );
- }
+
+ project.setRelativePath( relativePath );
+
}
+
project.setState( ContinuumProjectState.CHECKEDOUT );
store.updateProject( project );
Modified: maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/core/action/DeployArtifactContinuumAction.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/core/action/DeployArtifactContinuumAction.java?rev=579348&r1=579347&r2=579348&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/core/action/DeployArtifactContinuumAction.java (original)
+++ maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/core/action/DeployArtifactContinuumAction.java Tue Sep 25 11:48:15 2007
@@ -101,8 +101,9 @@
{
BuildDefinition buildDefinition = getBuildDefinition( context );
- List artifacts = buildExecutor.getDeployableArtifacts(
- workingDirectoryService.getWorkingDirectory( project ), buildDefinition );
+ List artifacts = buildExecutor.getDeployableArtifacts( project,
+ workingDirectoryService.getWorkingDirectory(
+ project ), buildDefinition );
for ( Iterator i = artifacts.iterator(); i.hasNext(); )
{
Modified: maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/AbstractBuildExecutor.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/AbstractBuildExecutor.java?rev=579348&r1=579347&r2=579348&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/AbstractBuildExecutor.java (original)
+++ maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/AbstractBuildExecutor.java Tue Sep 25 11:48:15 2007
@@ -277,6 +277,19 @@
return properties;
}
+ protected String getBuildFileForProject( Project project, BuildDefinition buildDefinition )
+ {
+ String buildFile = StringUtils.clean( buildDefinition.getBuildFile() );
+ String relPath = StringUtils.clean( project.getRelativePath() );
+
+ if ( StringUtils.isEmpty( relPath ) )
+ {
+ return buildFile;
+ }
+
+ return relPath + File.separator + buildFile;
+ }
+
public boolean isBuilding( Project project )
{
return project.getState() == ContinuumProjectState.BUILDING || shellCommandHelper.isRunning( project.getId() );
@@ -287,7 +300,7 @@
shellCommandHelper.killProcess( project.getId() );
}
- public List getDeployableArtifacts( File workingDirectory, BuildDefinition buildDefinition )
+ public List getDeployableArtifacts( Project project, File workingDirectory, BuildDefinition buildDefinition )
throws ContinuumBuildExecutorException
{
// Not supported by this builder
Modified: maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/ant/AntBuildExecutor.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/ant/AntBuildExecutor.java?rev=579348&r1=579347&r2=579348&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/ant/AntBuildExecutor.java (original)
+++ maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/ant/AntBuildExecutor.java Tue Sep 25 11:48:15 2007
@@ -77,7 +77,7 @@
StringBuffer arguments = new StringBuffer();
- String buildFile = buildDefinition.getBuildFile();
+ String buildFile = getBuildFileForProject( project, buildDefinition );
if ( !StringUtils.isEmpty( buildFile ) )
{
Modified: maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/maven/m1/MavenOneBuildExecutor.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/maven/m1/MavenOneBuildExecutor.java?rev=579348&r1=579347&r2=579348&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/maven/m1/MavenOneBuildExecutor.java (original)
+++ maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/maven/m1/MavenOneBuildExecutor.java Tue Sep 25 11:48:15 2007
@@ -76,7 +76,7 @@
StringBuffer arguments = new StringBuffer();
- String buildFile = StringUtils.clean( buildDefinition.getBuildFile() );
+ String buildFile = getBuildFileForProject( project, buildDefinition );
if ( !StringUtils.isEmpty( buildFile ) && !"project.xml".equals( buildFile ) )
{
Modified: maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/maven/m2/MavenTwoBuildExecutor.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/maven/m2/MavenTwoBuildExecutor.java?rev=579348&r1=579347&r2=579348&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/maven/m2/MavenTwoBuildExecutor.java (original)
+++ maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/maven/m2/MavenTwoBuildExecutor.java Tue Sep 25 11:48:15 2007
@@ -119,7 +119,7 @@
StringBuffer arguments = new StringBuffer();
- String buildFile = StringUtils.clean( buildDefinition.getBuildFile() );
+ String buildFile = getBuildFileForProject( project, buildDefinition );
if ( !StringUtils.isEmpty( buildFile ) && !"pom.xml".equals( buildFile ) )
{
@@ -152,7 +152,7 @@
public void updateProjectFromCheckOut( File workingDirectory, Project project, BuildDefinition buildDefinition )
throws ContinuumBuildExecutorException
{
- File f = getPomFile( buildDefinition, workingDirectory );
+ File f = getPomFile( getBuildFileForProject( project, buildDefinition ), workingDirectory );
if ( !f.exists() )
{
@@ -169,18 +169,15 @@
}
}
- private static File getPomFile( BuildDefinition buildDefinition, File workingDirectory )
+ private static File getPomFile( String projectBuildFile, File workingDirectory )
{
File f = null;
- if ( buildDefinition != null )
- {
- String buildFile = StringUtils.clean( buildDefinition.getBuildFile() );
+ String buildFile = StringUtils.clean( projectBuildFile );
- if ( !StringUtils.isEmpty( buildFile ) )
- {
- f = new File( workingDirectory, buildFile );
- }
+ if ( !StringUtils.isEmpty( buildFile ) )
+ {
+ f = new File( workingDirectory, buildFile );
}
if ( f == null )
@@ -191,10 +188,11 @@
return f;
}
- public List getDeployableArtifacts( File workingDirectory, BuildDefinition buildDefinition )
+ public List getDeployableArtifacts( Project continuumProject, File workingDirectory,
+ BuildDefinition buildDefinition )
throws ContinuumBuildExecutorException
{
- File f = getPomFile( buildDefinition, workingDirectory );
+ File f = getPomFile( getBuildFileForProject( continuumProject, buildDefinition ), workingDirectory );
if ( !f.exists() )
{
Modified: maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/shell/ShellBuildExecutor.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/shell/ShellBuildExecutor.java?rev=579348&r1=579347&r2=579348&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/shell/ShellBuildExecutor.java (original)
+++ maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/shell/ShellBuildExecutor.java Tue Sep 25 11:48:15 2007
@@ -70,7 +70,7 @@
throws ContinuumBuildExecutorException
{
// TODO: this should be validated earlier?
- String executable = buildDefinition.getBuildFile();
+ String executable = getBuildFileForProject( project, buildDefinition );
return executeShellCommand( project, executable, buildDefinition.getArguments(), buildOutput,
getEnvironments( buildDefinition ) );
Modified: maven/continuum/trunk/continuum-data-management/continuum-legacy/src/main/mdo/continuum.xml
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-data-management/continuum-legacy/src/main/mdo/continuum.xml?rev=579348&r1=579347&r2=579348&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-data-management/continuum-legacy/src/main/mdo/continuum.xml (original)
+++ maven/continuum/trunk/continuum-data-management/continuum-legacy/src/main/mdo/continuum.xml Tue Sep 25 11:48:15 2007
@@ -237,6 +237,11 @@
<version>1.0.9+</version>
<type>String</type>
</field>
+ <field>
+ <name>relativePath</name>
+ <version>1.1.0+</version>
+ <type>String</type>
+ </field>
<field jpox.mapped-by="project" jpox.fetch-groups="project-with-builds">
<name>buildResults</name>
<version>1.0.9+</version>
Modified: maven/continuum/trunk/continuum-model/src/main/mdo/continuum.xml
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-model/src/main/mdo/continuum.xml?rev=579348&r1=579347&r2=579348&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-model/src/main/mdo/continuum.xml (original)
+++ maven/continuum/trunk/continuum-model/src/main/mdo/continuum.xml Tue Sep 25 11:48:15 2007
@@ -237,6 +237,11 @@
<version>1.0.9+</version>
<type>String</type>
</field>
+ <field>
+ <name>relativePath</name>
+ <version>1.1.0+</version>
+ <type>String</type>
+ </field>
<field jpox.mapped-by="project" jpox.fetch-groups="project-with-builds">
<name>buildResults</name>
<version>1.0.9+</version>
@@ -299,7 +304,7 @@
<type>BuildDefinition</type>
<multiplicity>*</multiplicity>
</association>
- </field>
+ </field>
</fields>
</class>