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>


Reply via email to