Author: evenisse
Date: Thu May 3 08:13:27 2007
New Revision: 534906
URL: http://svn.apache.org/viewvc?view=rev&rev=534906
Log:
Readd releative path to the project deleted by mistake in r.534241
Modified:
maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractRunGoalsPhase.java
maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/CheckoutProjectFromScm.java
maven/release/trunk/maven-release-manager/src/main/mdo/release-descriptor.mdo
Modified:
maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractRunGoalsPhase.java
URL:
http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractRunGoalsPhase.java?view=diff&rev=534906&r1=534905&r2=534906
==============================================================================
---
maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractRunGoalsPhase.java
(original)
+++
maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractRunGoalsPhase.java
Thu May 3 08:13:27 2007
@@ -56,8 +56,9 @@
{
logInfo( result, "Executing goals '" + goals + "'..." );
- mavenExecutor.executeGoals( workingDirectory, goals,
releaseDescriptor.isInteractive(),
- additionalArguments, result );
+ mavenExecutor.executeGoals( determineWorkingDirectory(
workingDirectory,
+
releaseDescriptor.getScmRelativePathProjectDirectory() ),
+ goals,
releaseDescriptor.isInteractive(), additionalArguments, result );
}
}
catch ( MavenExecutorException e )
@@ -76,4 +77,26 @@
}
protected abstract String getGoals( ReleaseDescriptor releaseDescriptor );
+
+ /**
+ * Determines the path of the working directory. By default, this is the
+ * checkout directory. For some SCMs, the project root directory is not the
+ * checkout directory itself, but a SCM-specific subdirectory.
+ *
+ * @param checkoutDirectory The checkout directory as
java.io.File
+ * @param relativePathProjectDirectory The relative path of the project
directory within the checkout
+ * directory or ""
+ * @return The working directory
+ */
+ protected File determineWorkingDirectory( File checkoutDirectory, String
relativePathProjectDirectory )
+ {
+ if ( StringUtils.isNotEmpty( relativePathProjectDirectory ) )
+ {
+ return new File( checkoutDirectory, relativePathProjectDirectory );
+ }
+ else
+ {
+ return checkoutDirectory;
+ }
+ }
}
Modified:
maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/CheckoutProjectFromScm.java
URL:
http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/CheckoutProjectFromScm.java?view=diff&rev=534906&r1=534905&r2=534906
==============================================================================
---
maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/CheckoutProjectFromScm.java
(original)
+++
maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/CheckoutProjectFromScm.java
Thu May 3 08:13:27 2007
@@ -133,6 +133,8 @@
throw new ReleaseExecutionException( "An error is occurred in the
checkout process: " + e.getMessage(), e );
}
+
+ releaseDescriptor.setScmRelativePathProjectDirectory(
scmResult.getRelativePathProjectDirectory());
if ( !scmResult.isSuccess() )
{
result.setResultCode( ReleaseResult.ERROR );
Modified:
maven/release/trunk/maven-release-manager/src/main/mdo/release-descriptor.mdo
URL:
http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/main/mdo/release-descriptor.mdo?view=diff&rev=534906&r1=534905&r2=534906
==============================================================================
---
maven/release/trunk/maven-release-manager/src/main/mdo/release-descriptor.mdo
(original)
+++
maven/release/trunk/maven-release-manager/src/main/mdo/release-descriptor.mdo
Thu May 3 08:13:27 2007
@@ -135,6 +135,14 @@
if the SCM does not support edit mode, or if edit mode is
compulsory for the given SCM.
</description>
</field>
+ <field>
+ <name>scmRelativePathProjectDirectory</name>
+ <version>1.0.0</version>
+ <type>String</type>
+ <description>
+ Relative path of the project returned by the checkout command.
+ </description>
+ </field>
<!-- Maven Information -->
<field>
<name>releaseVersions</name>