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 2009/05/06 12:12:34 UTC
svn commit: r772129 - in /continuum/branches/continuum-flat-multi-module:
continuum-commons/src/main/java/org/apache/maven/continuum/utils/
continuum-commons/src/test/java/org/apache/maven/continuum/utils/
continuum-core/src/main/java/org/apache/maven/...
Author: oching
Date: Wed May 6 10:12:33 2009
New Revision: 772129
URL: http://svn.apache.org/viewvc?rev=772129&view=rev
Log:
[CONTINUUM-2193]
o fix more bugs related to building multi-module projects
Modified:
continuum/branches/continuum-flat-multi-module/continuum-commons/src/main/java/org/apache/maven/continuum/utils/DefaultWorkingDirectoryService.java
continuum/branches/continuum-flat-multi-module/continuum-commons/src/test/java/org/apache/maven/continuum/utils/DefaultWorkingDirectoryServiceTest.java
continuum/branches/continuum-flat-multi-module/continuum-core/src/main/java/org/apache/maven/continuum/DefaultContinuum.java
continuum/branches/continuum-flat-multi-module/continuum-core/src/main/java/org/apache/maven/continuum/buildcontroller/DefaultBuildController.java
continuum/branches/continuum-flat-multi-module/continuum-core/src/main/java/org/apache/maven/continuum/core/action/AbstractContinuumAction.java
continuum/branches/continuum-flat-multi-module/continuum-core/src/main/java/org/apache/maven/continuum/core/action/AddProjectToCheckOutQueueAction.java
continuum/branches/continuum-flat-multi-module/continuum-core/src/main/java/org/apache/maven/continuum/core/action/CheckWorkingDirectoryAction.java
continuum/branches/continuum-flat-multi-module/continuum-core/src/main/java/org/apache/maven/continuum/core/action/CheckoutProjectContinuumAction.java
continuum/branches/continuum-flat-multi-module/continuum-core/src/main/java/org/apache/maven/continuum/core/action/CleanWorkingDirectoryAction.java
continuum/branches/continuum-flat-multi-module/continuum-core/src/main/java/org/apache/maven/continuum/core/action/CreateProjectsFromMetadataAction.java
continuum/branches/continuum-flat-multi-module/continuum-core/src/main/java/org/apache/maven/continuum/core/action/UpdateProjectFromWorkingDirectoryContinuumAction.java
continuum/branches/continuum-flat-multi-module/continuum-core/src/main/java/org/apache/maven/continuum/core/action/UpdateWorkingDirectoryFromScmContinuumAction.java
continuum/branches/continuum-flat-multi-module/continuum-core/src/main/java/org/apache/maven/continuum/scm/queue/CheckOutTaskExecutor.java
continuum/branches/continuum-flat-multi-module/continuum-core/src/main/java/org/apache/maven/continuum/scm/queue/PrepareBuildProjectsTaskExecutor.java
continuum/branches/continuum-flat-multi-module/continuum-core/src/test/java/org/apache/maven/continuum/core/action/CreateProjectsFromMetadataTest.java
Modified: continuum/branches/continuum-flat-multi-module/continuum-commons/src/main/java/org/apache/maven/continuum/utils/DefaultWorkingDirectoryService.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-flat-multi-module/continuum-commons/src/main/java/org/apache/maven/continuum/utils/DefaultWorkingDirectoryService.java?rev=772129&r1=772128&r2=772129&view=diff
==============================================================================
--- continuum/branches/continuum-flat-multi-module/continuum-commons/src/main/java/org/apache/maven/continuum/utils/DefaultWorkingDirectoryService.java (original)
+++ continuum/branches/continuum-flat-multi-module/continuum-commons/src/main/java/org/apache/maven/continuum/utils/DefaultWorkingDirectoryService.java Wed May 6 10:12:33 2009
@@ -81,7 +81,7 @@
if ( project.getWorkingDirectory() == null || "".equals( project.getWorkingDirectory() ) )
{
if ( project.isCheckedOutInSingleDirectory() && projectScmRoot != null && !"".equals( projectScmRoot ) )
- {
+ {
Project rootProject = project;
if( projects != null )
{
@@ -98,8 +98,13 @@
// determine the path
String projectScmUrl = project.getScmUrl();
int indexDiff = StringUtils.differenceAt( projectScmUrl, projectScmRoot );
+
+ String pathToProject = "";
+ if( indexDiff != -1 )
+ {
+ pathToProject = projectScmUrl.substring( indexDiff );
+ }
- String pathToProject = projectScmUrl.substring( indexDiff );
if( pathToProject.startsWith( "\\" ) || pathToProject.startsWith( "/" ) )
{
project.setWorkingDirectory( Integer.toString( rootProject.getId() ) + pathToProject );
@@ -117,6 +122,7 @@
File workDir;
File projectWorkingDirectory = new File( project.getWorkingDirectory() );
+
if ( projectWorkingDirectory.isAbsolute() )
{
// clean the project working directory path if it's a subdirectory of the global working directory
Modified: continuum/branches/continuum-flat-multi-module/continuum-commons/src/test/java/org/apache/maven/continuum/utils/DefaultWorkingDirectoryServiceTest.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-flat-multi-module/continuum-commons/src/test/java/org/apache/maven/continuum/utils/DefaultWorkingDirectoryServiceTest.java?rev=772129&r1=772128&r2=772129&view=diff
==============================================================================
--- continuum/branches/continuum-flat-multi-module/continuum-commons/src/test/java/org/apache/maven/continuum/utils/DefaultWorkingDirectoryServiceTest.java (original)
+++ continuum/branches/continuum-flat-multi-module/continuum-commons/src/test/java/org/apache/maven/continuum/utils/DefaultWorkingDirectoryServiceTest.java Wed May 6 10:12:33 2009
@@ -58,43 +58,35 @@
workingDirectoryService.setConfigurationService( configurationService );
}
- public void testGetWorkingDirectoryOfSingleCheckoutMultiModules()
- throws Exception
+ private Project createProject( int id, String groupId, String artifactId, String version, String scmUrl,
+ boolean checkedOutInSingleDirectory )
{
- ProjectGroup pGroup = new ProjectGroup();
- pGroup.setId( 1 );
+ Project project = new Project();
+ project.setId( id );
+ project.setGroupId( groupId );
+ project.setArtifactId( artifactId );
+ project.setVersion( version );
+ project.setScmUrl( scmUrl );
+ project.setCheckedOutInSingleDirectory( checkedOutInSingleDirectory );
+ return project;
+ }
+
+ public void testGetWorkingDirectoryOfSingleCheckoutFlatMultiModules()
+ throws Exception
+ {
List<Project> projects = new ArrayList<Project>();
- Project project = new Project();
- project.setId( 7 );
- project.setGroupId( "org.apache.continuum" );
- project.setArtifactId( "module-a" );
- project.setVersion( "1.0-SNAPSHOT" );
- project.setScmUrl( "scm:local:src/test-projects:flat-multi-module/module-a" );
- project.setCheckedOutInSingleDirectory( true );
+ Project project = createProject( 7, "org.apache.continuum", "module-a", "1.0-SNAPSHOT",
+ "scm:local:src/test-projects:flat-multi-module/module-a", true );
projects.add( project );
- Project otherProject = new Project();
- otherProject.setId( 8 );
- otherProject.setGroupId( "org.apache.continuum" );
- otherProject.setArtifactId( "module-b" );
- otherProject.setVersion( "1.0-SNAPSHOT" );
- otherProject.setScmUrl( "scm:local:src/test-projects:flat-multi-module/module-b" );
- otherProject.setCheckedOutInSingleDirectory( true );
-
- projects.add( otherProject );
-
- otherProject = new Project();
- otherProject.setId( 6 );
- otherProject.setGroupId( "org.apache.continuum" );
- otherProject.setArtifactId( "parent-project" );
- otherProject.setVersion( "1.0-SNAPSHOT" );
- otherProject.setScmUrl( "scm:local:src/test-projects:flat-multi-module/parent-project" );
- otherProject.setCheckedOutInSingleDirectory( true );
-
- projects.add( otherProject );
+ projects.add( createProject( 8, "org.apache.continuum", "module-b", "1.0-SNAPSHOT",
+ "scm:local:src/test-projects:flat-multi-module/module-b", true ) );
+
+ projects.add( createProject( 6, "org.apache.continuum", "parent-project", "1.0-SNAPSHOT",
+ "scm:local:src/test-projects:flat-multi-module/parent-project", true ) );
final File unixBaseWorkingDirectory = new File( "/target/working-directory" );
@@ -115,7 +107,7 @@
workingDirectoryService.getWorkingDirectory( project, "scm:local:src/test-projects:flat-multi-module",
projects );
- assertEquals( "Incorrect working directory for multi-module project", "/target/working-directory/6/module-a",
+ assertEquals( "Incorrect working directory for flat multi-module project", "/target/working-directory/6/module-a",
projectWorkingDirectory.getPath() );
// test if separator is appended at the end of the scm root url
@@ -123,7 +115,7 @@
workingDirectoryService.getWorkingDirectory( project, "scm:local:src/test-projects:flat-multi-module/",
projects );
- assertEquals( "Incorrect working directory for multi-module project", "/target/working-directory/6/module-a",
+ assertEquals( "Incorrect working directory for flat multi-module project", "/target/working-directory/6/module-a",
projectWorkingDirectory.getPath() );
@@ -134,10 +126,85 @@
workingDirectoryService.getWorkingDirectory( project, "scm:local:src/test-projects:flat-multi-module",
projects );
- assertEquals( "Incorrect working directory for multi-module project", "c:\\target\\working-directory\\6\\module-a",
+ assertEquals( "Incorrect working directory for flat multi-module project", "c:\\target\\working-directory\\6\\module-a",
projectWorkingDirectory.getPath() );
-
}
-
-
+
+ public void testGetWorkingDirectoryOfSingleCheckoutRegularMultiModules()
+ throws Exception
+ {
+ List<Project> projects = new ArrayList<Project>();
+
+ Project project = createProject( 10, "org.apache.continuum", "module-a", "1.0-SNAPSHOT",
+ "scm:local:src/test-projects:regular-multi-module/module-a", true );
+
+ projects.add( project );
+
+ projects.add( createProject( 11, "org.apache.continuum", "module-b", "1.0-SNAPSHOT",
+ "scm:local:src/test-projects:regular-multi-module/module-b", true ) );
+
+ projects.add( createProject( 9, "org.apache.continuum", "parent-project", "1.0-SNAPSHOT",
+ "scm:local:src/test-projects:regular-multi-module/", true ) );
+
+ final File unixBaseWorkingDirectory = new File( "/target/working-directory" );
+
+ final File windowsBaseWorkingDirectory = new File( "c:\\target\\working-directory" );
+
+ context.checking( new Expectations()
+ {
+ {
+ exactly( 2 ).of( configurationService ).getWorkingDirectory();
+ will( returnValue( unixBaseWorkingDirectory ) );
+
+ one( configurationService ).getWorkingDirectory();
+ will( returnValue( windowsBaseWorkingDirectory ) );
+ }} );
+
+ // test if unix path
+ File projectWorkingDirectory =
+ workingDirectoryService.getWorkingDirectory( project, "scm:local:src/test-projects:regular-multi-module",
+ projects );
+
+ assertEquals( "Incorrect working directory for regular multi-module project", "/target/working-directory/9/module-a",
+ projectWorkingDirectory.getPath() );
+
+ // test if separator is appended at the end of the scm root url
+ projectWorkingDirectory =
+ workingDirectoryService.getWorkingDirectory( project, "scm:local:src/test-projects:regular-multi-module/",
+ projects );
+
+ assertEquals( "Incorrect working directory for regular multi-module project", "/target/working-directory/9/module-a",
+ projectWorkingDirectory.getPath() );
+
+
+ project.setWorkingDirectory( null );
+
+ // test if windows path
+ projectWorkingDirectory =
+ workingDirectoryService.getWorkingDirectory( project, "scm:local:src/test-projects:regular-multi-module",
+ projects );
+
+ assertEquals( "Incorrect working directory for regular multi-module project", "c:\\target\\working-directory\\9\\module-a",
+ projectWorkingDirectory.getPath() );
+
+ project.setWorkingDirectory( null );
+
+ // test generated path of parent project
+ project = createProject( 9, "org.apache.continuum", "parent-project", "1.0-SNAPSHOT",
+ "scm:local:src/test-projects:regular-multi-module", true );
+
+ context.checking( new Expectations()
+ {
+ {
+ one( configurationService ).getWorkingDirectory();
+ will( returnValue( unixBaseWorkingDirectory ) );
+ }} );
+
+ projectWorkingDirectory =
+ workingDirectoryService.getWorkingDirectory( project, "scm:local:src/test-projects:regular-multi-module",
+ projects );
+
+ assertEquals( "Incorrect working directory for regular multi-module project", "/target/working-directory/9",
+ projectWorkingDirectory.getPath() );
+ }
}
Modified: continuum/branches/continuum-flat-multi-module/continuum-core/src/main/java/org/apache/maven/continuum/DefaultContinuum.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-flat-multi-module/continuum-core/src/main/java/org/apache/maven/continuum/DefaultContinuum.java?rev=772129&r1=772128&r2=772129&view=diff
==============================================================================
--- continuum/branches/continuum-flat-multi-module/continuum-core/src/main/java/org/apache/maven/continuum/DefaultContinuum.java (original)
+++ continuum/branches/continuum-flat-multi-module/continuum-core/src/main/java/org/apache/maven/continuum/DefaultContinuum.java Wed May 6 10:12:33 2009
@@ -1555,7 +1555,7 @@
projectGroup = projectGroupDao.getProjectGroupWithBuildDetailsByProjectGroupId( projectGroupId );
- String url = AbstractContinuumAction.getString( context, AbstractContinuumAction.KEY_PROJECT_SCM_ROOT, null );
+ String url = AbstractContinuumAction.getString( context, AbstractContinuumAction.KEY_PROJECT_SCM_ROOT_URL, null );
projectScmRoot = getProjectScmRootByProjectGroupAndScmRootAddress( projectGroup.getId(), url );
@@ -1620,11 +1620,11 @@
if( project != null )
{
- String scmRootUrl = AbstractContinuumAction.getString( context, AbstractContinuumAction.KEY_PROJECT_SCM_ROOT );
+ String scmRootUrl = AbstractContinuumAction.getString( context, AbstractContinuumAction.KEY_PROJECT_SCM_ROOT_URL, null );
context = new HashMap<String, Object>();
- context.put( AbstractContinuumAction.KEY_PROJECT_SCM_ROOT, scmRootUrl );
+ context.put( AbstractContinuumAction.KEY_PROJECT_SCM_ROOT_URL, scmRootUrl );
Project rootProject = result.getRootProject();
Modified: continuum/branches/continuum-flat-multi-module/continuum-core/src/main/java/org/apache/maven/continuum/buildcontroller/DefaultBuildController.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-flat-multi-module/continuum-core/src/main/java/org/apache/maven/continuum/buildcontroller/DefaultBuildController.java?rev=772129&r1=772128&r2=772129&view=diff
==============================================================================
--- continuum/branches/continuum-flat-multi-module/continuum-core/src/main/java/org/apache/maven/continuum/buildcontroller/DefaultBuildController.java (original)
+++ continuum/branches/continuum-flat-multi-module/continuum-core/src/main/java/org/apache/maven/continuum/buildcontroller/DefaultBuildController.java Wed May 6 10:12:33 2009
@@ -369,7 +369,7 @@
projectScmRootAddress = projectScmRoot.getScmRootAddress();
if ( projectScmUrl.contains( projectScmRoot.getScmRootAddress() ) )
{
- actionContext.put( AbstractContinuumAction.KEY_PROJECT_SCM_ROOT, projectScmRoot );
+ actionContext.put( AbstractContinuumAction.KEY_PROJECT_SCM_ROOT_URL, projectScmRoot.getScmRootAddress() );
break;
}
}
Modified: continuum/branches/continuum-flat-multi-module/continuum-core/src/main/java/org/apache/maven/continuum/core/action/AbstractContinuumAction.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-flat-multi-module/continuum-core/src/main/java/org/apache/maven/continuum/core/action/AbstractContinuumAction.java?rev=772129&r1=772128&r2=772129&view=diff
==============================================================================
--- continuum/branches/continuum-flat-multi-module/continuum-core/src/main/java/org/apache/maven/continuum/core/action/AbstractContinuumAction.java (original)
+++ continuum/branches/continuum-flat-multi-module/continuum-core/src/main/java/org/apache/maven/continuum/core/action/AbstractContinuumAction.java Wed May 6 10:12:33 2009
@@ -93,6 +93,13 @@
public static final String KEY_OLD_SCM_RESULT = "old-scmResult";
public static final String KEY_PROJECT_SCM_ROOT = "projectScmRoot";
+
+ /**
+ * SCM root url. Used in these actions add-project-to-checkout-queue, checkout-project, clean-working-directory,
+ * create-projects-from-metadata, update-project-from-working-directory,
+ * update-working-directory-from-scm
+ */
+ public static final String KEY_PROJECT_SCM_ROOT_URL = "projectScmRootUrl";
public static final String KEY_OLD_BUILD_ID = "old-buildResult-id";
@@ -100,8 +107,14 @@
public static final String KEY_SCM_RESULT_MAP = "scm-result-map";
+ /**
+ * Metadata url for adding projects.
+ */
public static final String KEY_URL = "url";
+ /**
+ * List of projects in a project group with a common scm root url.
+ */
public static final String KEY_PROJECTS_IN_GROUP_WITH_COMMON_SCM_ROOT = "projects-in-group-with-common-scm-root";
// ----------------------------------------------------------------------
Modified: continuum/branches/continuum-flat-multi-module/continuum-core/src/main/java/org/apache/maven/continuum/core/action/AddProjectToCheckOutQueueAction.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-flat-multi-module/continuum-core/src/main/java/org/apache/maven/continuum/core/action/AddProjectToCheckOutQueueAction.java?rev=772129&r1=772128&r2=772129&view=diff
==============================================================================
--- continuum/branches/continuum-flat-multi-module/continuum-core/src/main/java/org/apache/maven/continuum/core/action/AddProjectToCheckOutQueueAction.java (original)
+++ continuum/branches/continuum-flat-multi-module/continuum-core/src/main/java/org/apache/maven/continuum/core/action/AddProjectToCheckOutQueueAction.java Wed May 6 10:12:33 2009
@@ -61,7 +61,7 @@
project = projectDao.getProject( getProjectId( context ) );
}
- String scmRootUrl = getString( context, KEY_PROJECT_SCM_ROOT, null );
+ String scmRootUrl = getString( context, KEY_PROJECT_SCM_ROOT_URL, null );
BuildDefinition defaultBuildDefinition = getBuildDefinition( context );
parallelBuildsManager.checkoutProject( project.getId(), project.getName(),
Modified: continuum/branches/continuum-flat-multi-module/continuum-core/src/main/java/org/apache/maven/continuum/core/action/CheckWorkingDirectoryAction.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-flat-multi-module/continuum-core/src/main/java/org/apache/maven/continuum/core/action/CheckWorkingDirectoryAction.java?rev=772129&r1=772128&r2=772129&view=diff
==============================================================================
--- continuum/branches/continuum-flat-multi-module/continuum-core/src/main/java/org/apache/maven/continuum/core/action/CheckWorkingDirectoryAction.java (original)
+++ continuum/branches/continuum-flat-multi-module/continuum-core/src/main/java/org/apache/maven/continuum/core/action/CheckWorkingDirectoryAction.java Wed May 6 10:12:33 2009
@@ -24,7 +24,6 @@
import java.util.Map;
import org.apache.continuum.dao.ProjectDao;
-import org.apache.continuum.model.project.ProjectScmRoot;
import org.apache.maven.continuum.model.project.Project;
import org.apache.maven.continuum.utils.WorkingDirectoryService;
@@ -36,7 +35,7 @@
*/
public class CheckWorkingDirectoryAction
extends AbstractContinuumAction
-{
+{
/**
* @plexus.requirement
*/
@@ -51,13 +50,13 @@
throws Exception
{
Project project = projectDao.getProject( getProjectId( context ) );
- List<Project> projectsWithSimilarScmRoot = getListOfProjectsInGroupWithCommonScmRoot( context );
- ProjectScmRoot projectScmRoot = getProjectScmRoot( context );
+ List<Project> projectsWithCommonScmRoot = getListOfProjectsInGroupWithCommonScmRoot( context );
+ String projectScmRootUrl = getString( context, KEY_PROJECT_SCM_ROOT_URL, project.getScmUrl() );
File workingDirectory =
- workingDirectoryService.getWorkingDirectory( project, projectScmRoot.getScmRootAddress(),
- projectsWithSimilarScmRoot );
-
+ workingDirectoryService.getWorkingDirectory( project, projectScmRootUrl,
+ projectsWithCommonScmRoot );
+
if ( !workingDirectory.exists() )
{
context.put( KEY_WORKING_DIRECTORY_EXISTS, Boolean.FALSE );
Modified: continuum/branches/continuum-flat-multi-module/continuum-core/src/main/java/org/apache/maven/continuum/core/action/CheckoutProjectContinuumAction.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-flat-multi-module/continuum-core/src/main/java/org/apache/maven/continuum/core/action/CheckoutProjectContinuumAction.java?rev=772129&r1=772128&r2=772129&view=diff
==============================================================================
--- continuum/branches/continuum-flat-multi-module/continuum-core/src/main/java/org/apache/maven/continuum/core/action/CheckoutProjectContinuumAction.java (original)
+++ continuum/branches/continuum-flat-multi-module/continuum-core/src/main/java/org/apache/maven/continuum/core/action/CheckoutProjectContinuumAction.java Wed May 6 10:12:33 2009
@@ -99,7 +99,7 @@
{
String scmUserName = getString( context, KEY_SCM_USERNAME, project.getScmUsername() );
String scmPassword = getString( context, KEY_SCM_PASSWORD, project.getScmPassword() );
- String scmRootUrl = getString( context, KEY_PROJECT_SCM_ROOT, project.getScmUrl() );
+ String scmRootUrl = getString( context, KEY_PROJECT_SCM_ROOT_URL, project.getScmUrl() );
ContinuumScmConfiguration config =
createScmConfiguration( project, workingDirectory, scmUserName, scmPassword, scmRootUrl );
Modified: continuum/branches/continuum-flat-multi-module/continuum-core/src/main/java/org/apache/maven/continuum/core/action/CleanWorkingDirectoryAction.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-flat-multi-module/continuum-core/src/main/java/org/apache/maven/continuum/core/action/CleanWorkingDirectoryAction.java?rev=772129&r1=772128&r2=772129&view=diff
==============================================================================
--- continuum/branches/continuum-flat-multi-module/continuum-core/src/main/java/org/apache/maven/continuum/core/action/CleanWorkingDirectoryAction.java (original)
+++ continuum/branches/continuum-flat-multi-module/continuum-core/src/main/java/org/apache/maven/continuum/core/action/CleanWorkingDirectoryAction.java Wed May 6 10:12:33 2009
@@ -20,7 +20,6 @@
*/
import org.apache.continuum.dao.ProjectDao;
-import org.apache.continuum.model.project.ProjectScmRoot;
import org.apache.maven.continuum.model.project.Project;
import org.apache.maven.continuum.utils.WorkingDirectoryService;
import org.apache.maven.shared.model.fileset.FileSet;
@@ -53,12 +52,11 @@
throws Exception
{
Project project = projectDao.getProject( getProjectId( context ) );
- List<Project> projectsWithCommonScmRoot = getListOfProjectsInGroupWithCommonScmRoot( context );
- ProjectScmRoot projectScmRoot = getProjectScmRoot( context );
+ List<Project> projectsWithCommonScmRoot = getListOfProjectsInGroupWithCommonScmRoot( context );
+ String projectScmRootUrl = getString( context, KEY_PROJECT_SCM_ROOT_URL, null );
- //File workingDirectory = workingDirectoryService.getWorkingDirectory( project );
File workingDirectory =
- workingDirectoryService.getWorkingDirectory( project, projectScmRoot.getScmRootAddress(),
+ workingDirectoryService.getWorkingDirectory( project, projectScmRootUrl,
projectsWithCommonScmRoot );
if ( workingDirectory.exists() )
Modified: continuum/branches/continuum-flat-multi-module/continuum-core/src/main/java/org/apache/maven/continuum/core/action/CreateProjectsFromMetadataAction.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-flat-multi-module/continuum-core/src/main/java/org/apache/maven/continuum/core/action/CreateProjectsFromMetadataAction.java?rev=772129&r1=772128&r2=772129&view=diff
==============================================================================
--- continuum/branches/continuum-flat-multi-module/continuum-core/src/main/java/org/apache/maven/continuum/core/action/CreateProjectsFromMetadataAction.java (original)
+++ continuum/branches/continuum-flat-multi-module/continuum-core/src/main/java/org/apache/maven/continuum/core/action/CreateProjectsFromMetadataAction.java Wed May 6 10:12:33 2009
@@ -180,7 +180,7 @@
}
}
- context.put( KEY_PROJECT_SCM_ROOT, scmRootUrl );
+ context.put( KEY_PROJECT_SCM_ROOT_URL, scmRootUrl );
}
}
catch ( MalformedURLException e )
Modified: continuum/branches/continuum-flat-multi-module/continuum-core/src/main/java/org/apache/maven/continuum/core/action/UpdateProjectFromWorkingDirectoryContinuumAction.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-flat-multi-module/continuum-core/src/main/java/org/apache/maven/continuum/core/action/UpdateProjectFromWorkingDirectoryContinuumAction.java?rev=772129&r1=772128&r2=772129&view=diff
==============================================================================
--- continuum/branches/continuum-flat-multi-module/continuum-core/src/main/java/org/apache/maven/continuum/core/action/UpdateProjectFromWorkingDirectoryContinuumAction.java (original)
+++ continuum/branches/continuum-flat-multi-module/continuum-core/src/main/java/org/apache/maven/continuum/core/action/UpdateProjectFromWorkingDirectoryContinuumAction.java Wed May 6 10:12:33 2009
@@ -21,7 +21,6 @@
import org.apache.continuum.dao.BuildDefinitionDao;
import org.apache.continuum.dao.ProjectDao;
-import org.apache.continuum.model.project.ProjectScmRoot;
import org.apache.maven.continuum.ContinuumException;
import org.apache.maven.continuum.execution.ContinuumBuildExecutor;
import org.apache.maven.continuum.execution.ContinuumBuildExecutorException;
@@ -31,7 +30,6 @@
import org.apache.maven.continuum.store.ContinuumStoreException;
import org.apache.maven.continuum.utils.WorkingDirectoryService;
-import java.io.File;
import java.util.List;
import java.util.Map;
@@ -82,10 +80,10 @@
ContinuumBuildExecutor builder = buildExecutorManager.getBuildExecutor( project.getExecutorId() );
List<Project> projectsWithCommonScmRoot = getListOfProjectsInGroupWithCommonScmRoot( context );
- ProjectScmRoot projectScmRoot = getProjectScmRoot( context );
+ String projectScmRootUrl = getString( context, KEY_PROJECT_SCM_ROOT_URL, project.getScmUrl() );
builder.updateProjectFromCheckOut( workingDirectoryService.getWorkingDirectory( project,
- projectScmRoot.getScmRootAddress(), projectsWithCommonScmRoot ), project, buildDefinition );
+ projectScmRootUrl, projectsWithCommonScmRoot ), project, buildDefinition );
// ----------------------------------------------------------------------
// Store the new descriptor
Modified: continuum/branches/continuum-flat-multi-module/continuum-core/src/main/java/org/apache/maven/continuum/core/action/UpdateWorkingDirectoryFromScmContinuumAction.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-flat-multi-module/continuum-core/src/main/java/org/apache/maven/continuum/core/action/UpdateWorkingDirectoryFromScmContinuumAction.java?rev=772129&r1=772128&r2=772129&view=diff
==============================================================================
--- continuum/branches/continuum-flat-multi-module/continuum-core/src/main/java/org/apache/maven/continuum/core/action/UpdateWorkingDirectoryFromScmContinuumAction.java (original)
+++ continuum/branches/continuum-flat-multi-module/continuum-core/src/main/java/org/apache/maven/continuum/core/action/UpdateWorkingDirectoryFromScmContinuumAction.java Wed May 6 10:12:33 2009
@@ -21,7 +21,6 @@
import org.apache.continuum.dao.BuildResultDao;
import org.apache.continuum.dao.ProjectDao;
-import org.apache.continuum.model.project.ProjectScmRoot;
import org.apache.continuum.scm.ContinuumScm;
import org.apache.continuum.scm.ContinuumScmConfiguration;
import org.apache.continuum.utils.ContinuumUtils;
@@ -54,7 +53,7 @@
*/
public class UpdateWorkingDirectoryFromScmContinuumAction
extends AbstractContinuumAction
-{
+{
/**
* @plexus.requirement
*/
@@ -112,16 +111,15 @@
{
notifier.checkoutStarted( project, buildDefinition );
- List<Project> projectsWithCommonScmRoot = getListOfProjectsInGroupWithCommonScmRoot( context );
- ProjectScmRoot projectScmRoot = getProjectScmRoot( context );
+ List<Project> projectsWithCommonScmRoot = getListOfProjectsInGroupWithCommonScmRoot( context );
+ String projectScmRootUrl = getString( context, KEY_PROJECT_SCM_ROOT_URL, project.getScmUrl() );
- // TODO: not sure why this is different to the context, but it all needs to change
- //File workingDirectory = workingDirectoryService.getWorkingDirectory( project );
+ // TODO: not sure why this is different to the context, but it all needs to change
File workingDirectory =
- workingDirectoryService.getWorkingDirectory( project, projectScmRoot.getScmRootAddress(),
+ workingDirectoryService.getWorkingDirectory( project, projectScmRootUrl,
projectsWithCommonScmRoot );
- ContinuumScmConfiguration config = createScmConfiguration( project, workingDirectory, projectScmRoot.getScmRootAddress() );
+ ContinuumScmConfiguration config = createScmConfiguration( project, workingDirectory, projectScmRootUrl );
config.setLatestUpdateDate( latestUpdateDate );
String tag = config.getTag();
String msg = project.getName() + "', id: '" + project.getId() + "' to '" +
Modified: continuum/branches/continuum-flat-multi-module/continuum-core/src/main/java/org/apache/maven/continuum/scm/queue/CheckOutTaskExecutor.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-flat-multi-module/continuum-core/src/main/java/org/apache/maven/continuum/scm/queue/CheckOutTaskExecutor.java?rev=772129&r1=772128&r2=772129&view=diff
==============================================================================
--- continuum/branches/continuum-flat-multi-module/continuum-core/src/main/java/org/apache/maven/continuum/scm/queue/CheckOutTaskExecutor.java (original)
+++ continuum/branches/continuum-flat-multi-module/continuum-core/src/main/java/org/apache/maven/continuum/scm/queue/CheckOutTaskExecutor.java Wed May 6 10:12:33 2009
@@ -93,7 +93,7 @@
context.put( AbstractContinuumAction.KEY_SCM_USERNAME, task.getScmUserName() );
- context.put( AbstractContinuumAction.KEY_PROJECT_SCM_ROOT, task.getScmRootUrl() );
+ context.put( AbstractContinuumAction.KEY_PROJECT_SCM_ROOT_URL, task.getScmRootUrl() );
context.put( AbstractContinuumAction.KEY_PROJECTS_IN_GROUP_WITH_COMMON_SCM_ROOT, task.getProjectsWithSimilarScmRoot() );
Modified: continuum/branches/continuum-flat-multi-module/continuum-core/src/main/java/org/apache/maven/continuum/scm/queue/PrepareBuildProjectsTaskExecutor.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-flat-multi-module/continuum-core/src/main/java/org/apache/maven/continuum/scm/queue/PrepareBuildProjectsTaskExecutor.java?rev=772129&r1=772128&r2=772129&view=diff
==============================================================================
--- continuum/branches/continuum-flat-multi-module/continuum-core/src/main/java/org/apache/maven/continuum/scm/queue/PrepareBuildProjectsTaskExecutor.java (original)
+++ continuum/branches/continuum-flat-multi-module/continuum-core/src/main/java/org/apache/maven/continuum/scm/queue/PrepareBuildProjectsTaskExecutor.java Wed May 6 10:12:33 2009
@@ -51,7 +51,6 @@
import org.codehaus.plexus.taskqueue.execution.TaskExecutionException;
import org.codehaus.plexus.taskqueue.execution.TaskExecutor;
import org.codehaus.plexus.util.StringUtils;
-import org.codehaus.plexus.util.dag.CycleDetectedException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -201,6 +200,7 @@
if ( projectScmUrl.contains( projectScmRoot.getScmRootAddress() ) )
{
context.put( AbstractContinuumAction.KEY_PROJECT_SCM_ROOT, projectScmRoot );
+ context.put( AbstractContinuumAction.KEY_PROJECT_SCM_ROOT_URL, projectScmRootAddress );
break;
}
}
Modified: continuum/branches/continuum-flat-multi-module/continuum-core/src/test/java/org/apache/maven/continuum/core/action/CreateProjectsFromMetadataTest.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-flat-multi-module/continuum-core/src/test/java/org/apache/maven/continuum/core/action/CreateProjectsFromMetadataTest.java?rev=772129&r1=772128&r2=772129&view=diff
==============================================================================
--- continuum/branches/continuum-flat-multi-module/continuum-core/src/test/java/org/apache/maven/continuum/core/action/CreateProjectsFromMetadataTest.java (original)
+++ continuum/branches/continuum-flat-multi-module/continuum-core/src/test/java/org/apache/maven/continuum/core/action/CreateProjectsFromMetadataTest.java Wed May 6 10:12:33 2009
@@ -200,6 +200,6 @@
"Should not have errors but had " + result.getErrorsAsString() + " (this test requires internet access)",
result.hasErrors() );
assertEquals( "Incorrect SCM Root Url for flat multi-module project.",
- "scm:local:src/test-projects:flat-multi-module/", context.get( AbstractContinuumAction.KEY_PROJECT_SCM_ROOT ) );
+ "scm:local:src/test-projects:flat-multi-module/", context.get( AbstractContinuumAction.KEY_PROJECT_SCM_ROOT_URL ) );
}
}