You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@continuum.apache.org by ba...@apache.org on 2011/04/11 14:58:12 UTC
svn commit: r1091054 - in /continuum/trunk: ./ continuum-release/
continuum-release/src/main/java/org/apache/continuum/release/phase/
continuum-release/src/main/java/org/apache/maven/continuum/release/phase/
Author: batkinson
Date: Mon Apr 11 12:58:12 2011
New Revision: 1091054
URL: http://svn.apache.org/viewvc?rev=1091054&view=rev
Log:
[CONTINUUM-2591] Git builds can't properly release or checkout on branch
Updated git-scm to include fixes required for proper checkout on a branch. Updated the release manager, and added a workaround for detecting current branch from working copy for releases to work properly.
Modified:
continuum/trunk/continuum-release/pom.xml
continuum/trunk/continuum-release/src/main/java/org/apache/continuum/release/phase/RunPrepareGoalsPhase.java
continuum/trunk/continuum-release/src/main/java/org/apache/maven/continuum/release/phase/UpdateWorkingCopyPhase.java
continuum/trunk/pom.xml
Modified: continuum/trunk/continuum-release/pom.xml
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-release/pom.xml?rev=1091054&r1=1091053&r2=1091054&view=diff
==============================================================================
--- continuum/trunk/continuum-release/pom.xml (original)
+++ continuum/trunk/continuum-release/pom.xml Mon Apr 11 12:58:12 2011
@@ -90,6 +90,12 @@ under the License.
<scope>test</scope>
</dependency>
<dependency>
+ <groupId>org.apache.maven.scm</groupId>
+ <artifactId>maven-scm-provider-gitexe</artifactId>
+ <version>1.4</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-component-api</artifactId>
</dependency>
@@ -105,6 +111,11 @@ under the License.
<groupId>org.apache.maven.scm</groupId>
<artifactId>maven-scm-api</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.apache.maven.scm</groupId>
+ <artifactId>maven-scm-manager-plexus</artifactId>
+ <scope>compile</scope>
+ </dependency>
<!-- === Testing Dependencies === -->
<dependency>
<groupId>hsqldb</groupId>
Modified: continuum/trunk/continuum-release/src/main/java/org/apache/continuum/release/phase/RunPrepareGoalsPhase.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-release/src/main/java/org/apache/continuum/release/phase/RunPrepareGoalsPhase.java?rev=1091054&r1=1091053&r2=1091054&view=diff
==============================================================================
--- continuum/trunk/continuum-release/src/main/java/org/apache/continuum/release/phase/RunPrepareGoalsPhase.java (original)
+++ continuum/trunk/continuum-release/src/main/java/org/apache/continuum/release/phase/RunPrepareGoalsPhase.java Mon Apr 11 12:58:12 2011
@@ -22,7 +22,6 @@ package org.apache.continuum.release.pha
import java.io.File;
import java.util.List;
-import org.apache.maven.settings.Settings;
import org.apache.maven.shared.release.ReleaseExecutionException;
import org.apache.maven.shared.release.ReleaseFailureException;
import org.apache.maven.shared.release.ReleaseResult;
@@ -50,7 +49,8 @@ public class RunPrepareGoalsPhase
releaseDescriptor.getAdditionalArguments() );
}
- public ReleaseResult simulate( ReleaseDescriptor releaseDescriptor, Settings settings, List reactorProjects )
+ public ReleaseResult simulate( ReleaseDescriptor releaseDescriptor, ReleaseEnvironment releaseEnvironment,
+ List reactorProjects )
throws ReleaseExecutionException, ReleaseFailureException
{
ReleaseResult result = new ReleaseResult();
@@ -58,7 +58,7 @@ public class RunPrepareGoalsPhase
logInfo( result, "Executing preparation goals - since this is simulation mode it is running against the " +
"original project, not the rewritten ones" );
- execute( releaseDescriptor, settings, reactorProjects );
+ execute( releaseDescriptor, releaseEnvironment, reactorProjects );
return result;
}
Modified: continuum/trunk/continuum-release/src/main/java/org/apache/maven/continuum/release/phase/UpdateWorkingCopyPhase.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-release/src/main/java/org/apache/maven/continuum/release/phase/UpdateWorkingCopyPhase.java?rev=1091054&r1=1091053&r2=1091054&view=diff
==============================================================================
--- continuum/trunk/continuum-release/src/main/java/org/apache/maven/continuum/release/phase/UpdateWorkingCopyPhase.java (original)
+++ continuum/trunk/continuum-release/src/main/java/org/apache/maven/continuum/release/phase/UpdateWorkingCopyPhase.java Mon Apr 11 12:58:12 2011
@@ -19,13 +19,21 @@ package org.apache.maven.continuum.relea
* under the License.
*/
+import java.io.File;
+import java.util.List;
+
+import org.apache.maven.scm.ScmBranch;
import org.apache.maven.scm.ScmException;
import org.apache.maven.scm.ScmFileSet;
import org.apache.maven.scm.ScmVersion;
import org.apache.maven.scm.command.checkout.CheckOutScmResult;
import org.apache.maven.scm.command.update.UpdateScmResult;
import org.apache.maven.scm.manager.NoSuchScmProviderException;
+import org.apache.maven.scm.manager.plexus.PlexusLogger;
import org.apache.maven.scm.provider.ScmProvider;
+import org.apache.maven.scm.provider.ScmProviderRepository;
+import org.apache.maven.scm.provider.git.gitexe.command.branch.GitBranchCommand;
+import org.apache.maven.scm.provider.git.repository.GitScmProviderRepository;
import org.apache.maven.scm.repository.ScmRepository;
import org.apache.maven.scm.repository.ScmRepositoryException;
import org.apache.maven.settings.Settings;
@@ -39,9 +47,6 @@ import org.apache.maven.shared.release.s
import org.apache.maven.shared.release.scm.ReleaseScmRepositoryException;
import org.apache.maven.shared.release.scm.ScmRepositoryConfigurator;
-import java.io.File;
-import java.util.List;
-
/**
* Update working copy
*
@@ -87,6 +92,7 @@ public class UpdateWorkingCopyPhase
CheckOutScmResult checkOutScmResult = null;
File workingDirectory = new File( releaseDescriptor.getWorkingDirectory() );
+ ScmFileSet workingDirSet = new ScmFileSet( workingDirectory );
try
{
@@ -95,13 +101,27 @@ public class UpdateWorkingCopyPhase
workingDirectory.mkdirs();
}
+ ScmVersion scmTag = null;
+
+ ScmProviderRepository providerRepo = repository.getProviderRepository();
+
+ // FIXME: This should be handled by the maven-scm git provider
+ if ( providerRepo instanceof GitScmProviderRepository )
+ {
+ String branchName =
+ GitBranchCommand.getCurrentBranch( new PlexusLogger(getLogger()), (GitScmProviderRepository) providerRepo,
+ workingDirSet );
+ scmTag = new ScmBranch( branchName );
+ }
+
if( workingDirectory.listFiles().length > 1 )
{
- updateScmResult = provider.update( repository, new ScmFileSet( workingDirectory ), (ScmVersion) null );
+ updateScmResult = provider.update( repository, workingDirSet, scmTag );
}
else
{
checkOutScmResult = provider.checkOut( repository, new ScmFileSet( workingDirectory ) );
+ checkOutScmResult = provider.checkOut( repository, workingDirSet, scmTag );
}
}
catch ( ScmException e )
Modified: continuum/trunk/pom.xml
URL: http://svn.apache.org/viewvc/continuum/trunk/pom.xml?rev=1091054&r1=1091053&r2=1091054&view=diff
==============================================================================
--- continuum/trunk/pom.xml (original)
+++ continuum/trunk/pom.xml Mon Apr 11 12:58:12 2011
@@ -544,7 +544,7 @@ under the License.
<dependency>
<groupId>org.apache.maven.release</groupId>
<artifactId>maven-release-manager</artifactId>
- <version>2.0</version>
+ <version>2.1</version>
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
@@ -1696,7 +1696,7 @@ under the License.
<spring.version>2.5.6</spring.version>
<struts.version>2.1.6</struts.version>
<wagon.version>1.0-beta-2</wagon.version>
- <maven-scm.version>1.2</maven-scm.version>
+ <maven-scm.version>1.4</maven-scm.version>
<redback.version>1.3-SNAPSHOT</redback.version>
<archiva.version>1.2.1</archiva.version>
<slf4jVersion>1.5.8</slf4jVersion>