You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ol...@apache.org on 2011/03/20 01:08:19 UTC
svn commit: r1083343 - in /maven/release/trunk/maven-release-manager/src:
main/java/org/apache/maven/shared/release/phase/
main/java/org/apache/maven/shared/release/util/
test/java/org/apache/maven/shared/release/phase/
Author: olamy
Date: Sun Mar 20 00:08:18 2011
New Revision: 1083343
URL: http://svn.apache.org/viewvc?rev=1083343&view=rev
Log:
fix symlink issue
Modified:
maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RewritePomsForBranchPhase.java
maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RewritePomsForReleasePhase.java
maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/util/ReleaseUtil.java
maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractReleaseTestCase.java
Modified: maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RewritePomsForBranchPhase.java
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RewritePomsForBranchPhase.java?rev=1083343&r1=1083342&r2=1083343&view=diff
==============================================================================
--- maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RewritePomsForBranchPhase.java (original)
+++ maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RewritePomsForBranchPhase.java Sun Mar 20 00:08:18 2011
@@ -19,6 +19,7 @@ package org.apache.maven.shared.release.
* under the License.
*/
+import java.io.IOException;
import java.util.List;
import java.util.Map;
@@ -26,6 +27,7 @@ import org.apache.maven.artifact.Artifac
import org.apache.maven.model.Scm;
import org.apache.maven.project.MavenProject;
import org.apache.maven.scm.repository.ScmRepository;
+import org.apache.maven.shared.release.ReleaseExecutionException;
import org.apache.maven.shared.release.ReleaseResult;
import org.apache.maven.shared.release.config.ReleaseDescriptor;
import org.apache.maven.shared.release.scm.ScmTranslator;
@@ -49,7 +51,8 @@ public class RewritePomsForBranchPhase
protected void transformScm( MavenProject project, Element rootElement, Namespace namespace,
ReleaseDescriptor releaseDescriptor, String projectId, ScmRepository scmRepository,
- ReleaseResult result, String commonBasedir )
+ ReleaseResult result, String commonBasedir )
+ throws ReleaseExecutionException
{
// If SCM is null in original model, it is inherited, no mods needed
if ( project.getScm() != null )
@@ -59,7 +62,14 @@ public class RewritePomsForBranchPhase
{
releaseDescriptor.mapOriginalScmInfo( projectId, project.getScm() );
- translateScm( project, releaseDescriptor, scmRoot, namespace, scmRepository, result, commonBasedir );
+ try
+ {
+ translateScm( project, releaseDescriptor, scmRoot, namespace, scmRepository, result, commonBasedir );
+ }
+ catch ( IOException e )
+ {
+ throw new ReleaseExecutionException(e.getMessage(), e);
+ }
}
else
{
@@ -77,10 +87,17 @@ public class RewritePomsForBranchPhase
scmRoot = new Element( "scm" );
scmRoot.addContent( "\n " );
- if ( translateScm( project, releaseDescriptor, scmRoot, namespace, scmRepository, result,
- commonBasedir ) )
+ try
+ {
+ if ( translateScm( project, releaseDescriptor, scmRoot, namespace, scmRepository, result,
+ commonBasedir ) )
+ {
+ rootElement.addContent( "\n " ).addContent( scmRoot ).addContent( "\n" );
+ }
+ }
+ catch ( IOException e )
{
- rootElement.addContent( "\n " ).addContent( scmRoot ).addContent( "\n" );
+ throw new ReleaseExecutionException(e.getMessage(), e);
}
}
}
@@ -90,7 +107,8 @@ public class RewritePomsForBranchPhase
private boolean translateScm( MavenProject project, ReleaseDescriptor releaseDescriptor, Element scmRoot,
Namespace namespace, ScmRepository scmRepository, ReleaseResult relResult,
- String commonBasedir )
+ String commonBasedir )
+ throws IOException
{
ScmTranslator translator = (ScmTranslator) scmTranslators.get( scmRepository.getProvider() );
boolean result = false;
@@ -105,9 +123,13 @@ public class RewritePomsForBranchPhase
{
branchBase = "scm:svn:" + branchBase;
}
+
+ String workingDirectory =
+ ReleaseUtil.isSymlink( project.getBasedir() ) ? project.getBasedir().getCanonicalPath()
+ : project.getBasedir().getAbsolutePath();
int count =
- ReleaseUtil.getBaseWorkingDirectoryParentCount( commonBasedir, project.getBasedir().getAbsolutePath() );
+ ReleaseUtil.getBaseWorkingDirectoryParentCount( commonBasedir, workingDirectory );
if ( scm.getConnection() != null )
{
String rootUrl = ReleaseUtil.realignScmUrl( count, scm.getConnection() );
Modified: maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RewritePomsForReleasePhase.java
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RewritePomsForReleasePhase.java?rev=1083343&r1=1083342&r2=1083343&view=diff
==============================================================================
--- maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RewritePomsForReleasePhase.java (original)
+++ maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RewritePomsForReleasePhase.java Sun Mar 20 00:08:18 2011
@@ -19,6 +19,7 @@ package org.apache.maven.shared.release.
* under the License.
*/
+import java.io.IOException;
import java.util.List;
import java.util.Map;
@@ -26,6 +27,7 @@ import org.apache.maven.artifact.Artifac
import org.apache.maven.model.Scm;
import org.apache.maven.project.MavenProject;
import org.apache.maven.scm.repository.ScmRepository;
+import org.apache.maven.shared.release.ReleaseExecutionException;
import org.apache.maven.shared.release.ReleaseResult;
import org.apache.maven.shared.release.config.ReleaseDescriptor;
import org.apache.maven.shared.release.scm.ScmTranslator;
@@ -50,6 +52,7 @@ public class RewritePomsForReleasePhase
protected void transformScm( MavenProject project, Element rootElement, Namespace namespace,
ReleaseDescriptor releaseDescriptor, String projectId, ScmRepository scmRepository,
ReleaseResult result, String commonBasedir )
+ throws ReleaseExecutionException
{
// If SCM is null in original model, it is inherited, no mods needed
if ( project.getScm() != null )
@@ -59,7 +62,14 @@ public class RewritePomsForReleasePhase
{
releaseDescriptor.mapOriginalScmInfo( projectId, project.getScm() );
- translateScm( project, releaseDescriptor, scmRoot, namespace, scmRepository, result, commonBasedir );
+ try
+ {
+ translateScm( project, releaseDescriptor, scmRoot, namespace, scmRepository, result, commonBasedir );
+ }
+ catch ( IOException e )
+ {
+ throw new ReleaseExecutionException( e.getMessage(), e );
+ }
}
else
{
@@ -77,10 +87,17 @@ public class RewritePomsForReleasePhase
scmRoot = new Element( "scm" );
scmRoot.addContent( "\n " );
- if ( translateScm( project, releaseDescriptor, scmRoot, namespace, scmRepository, result,
- commonBasedir ) )
+ try
+ {
+ if ( translateScm( project, releaseDescriptor, scmRoot, namespace, scmRepository, result,
+ commonBasedir ) )
+ {
+ rootElement.addContent( "\n " ).addContent( scmRoot ).addContent( "\n" );
+ }
+ }
+ catch ( IOException e )
{
- rootElement.addContent( "\n " ).addContent( scmRoot ).addContent( "\n" );
+ throw new ReleaseExecutionException(e.getMessage(), e);
}
}
}
@@ -90,7 +107,7 @@ public class RewritePomsForReleasePhase
private boolean translateScm( MavenProject project, ReleaseDescriptor releaseDescriptor, Element scmRoot,
Namespace namespace, ScmRepository scmRepository, ReleaseResult relResult,
- String commonBasedir )
+ String commonBasedir ) throws IOException
{
ScmTranslator translator = (ScmTranslator) scmTranslators.get( scmRepository.getProvider() );
boolean result = false;
@@ -111,8 +128,11 @@ public class RewritePomsForReleasePhase
tagBase = "scm:svn:" + tagBase;
}
+ String workingDirectory =
+ ReleaseUtil.isSymlink( project.getBasedir() ) ? project.getBasedir().getCanonicalPath()
+ : project.getBasedir().getAbsolutePath();
int count =
- ReleaseUtil.getBaseWorkingDirectoryParentCount( commonBasedir, project.getBasedir().getAbsolutePath() );
+ ReleaseUtil.getBaseWorkingDirectoryParentCount( commonBasedir, workingDirectory );
if ( scm.getConnection() != null )
{
String rootUrl = ReleaseUtil.realignScmUrl( count, scm.getConnection() );
Modified: maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/util/ReleaseUtil.java
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/util/ReleaseUtil.java?rev=1083343&r1=1083342&r2=1083343&view=diff
==============================================================================
--- maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/util/ReleaseUtil.java (original)
+++ maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/util/ReleaseUtil.java Sun Mar 20 00:08:18 2011
@@ -276,4 +276,10 @@ public class ReleaseUtil
}
return url;
}
+
+ public static boolean isSymlink(File file)
+ throws IOException
+ {
+ return !file.getAbsolutePath().equals( file.getCanonicalPath() );
+ }
}
Modified: maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractReleaseTestCase.java
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractReleaseTestCase.java?rev=1083343&r1=1083342&r2=1083343&view=diff
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractReleaseTestCase.java (original)
+++ maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractReleaseTestCase.java Sun Mar 20 00:08:18 2011
@@ -356,4 +356,4 @@ public abstract class AbstractReleaseTes
}
return "file://" + getTestFile( "src/test/remote-repository" ).getCanonicalPath().replace( '\\', '/' );
}
-}
+}
\ No newline at end of file