You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by rf...@apache.org on 2015/03/29 23:55:44 UTC
svn commit: r1669964 - in /maven/release/trunk: ./ maven-release-manager/
maven-release-manager/src/main/java/org/apache/maven/shared/release/util/
maven-release-manager/src/test/java/org/apache/maven/shared/release/util/
Author: rfscholte
Date: Sun Mar 29 21:55:44 2015
New Revision: 1669964
URL: http://svn.apache.org/r1669964
Log:
[MRELEASE-871] Release Tag wrongly created when invoked pom.xml path contains a '.'
Patch contributed by Gertjan Gaillet, verified and tests adjusted (to make them OS independent) by Robert Scholte
Modified:
maven/release/trunk/maven-release-manager/pom.xml
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/util/ReleaseUtilTest.java
maven/release/trunk/pom.xml
Modified: maven/release/trunk/maven-release-manager/pom.xml
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/pom.xml?rev=1669964&r1=1669963&r2=1669964&view=diff
==============================================================================
--- maven/release/trunk/maven-release-manager/pom.xml (original)
+++ maven/release/trunk/maven-release-manager/pom.xml Sun Mar 29 21:55:44 2015
@@ -119,7 +119,11 @@
</exclusion>
</exclusions>
</dependency>
-
+ <dependency>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ <version>2.2</version>
+ </dependency>
<!-- scm dependencies -->
<dependency>
<groupId>org.apache.maven.scm</groupId>
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=1669964&r1=1669963&r2=1669964&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 29 21:55:44 2015
@@ -26,6 +26,7 @@ import java.util.Arrays;
import java.util.List;
import java.util.Locale;
+import org.apache.commons.io.FilenameUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.maven.model.Model;
import org.apache.maven.project.MavenProject;
@@ -243,8 +244,8 @@ public class ReleaseUtil
// we can safely assume case-insensitivity as we are just backtracking, not comparing. This helps with issues
// on Windows with C: vs c:
- workingDirectory = workingDirectory.toLowerCase( Locale.ENGLISH );
- basedir = basedir.toLowerCase( Locale.ENGLISH );
+ workingDirectory = FilenameUtils.normalize( workingDirectory.toLowerCase( Locale.ENGLISH ) );
+ basedir = FilenameUtils.normalize( basedir.toLowerCase( Locale.ENGLISH ) );
// MRELEASE-663
// For Windows is does matter if basedir ends with a file-separator or not to be able to compare.
Modified: maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/util/ReleaseUtilTest.java
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/util/ReleaseUtilTest.java?rev=1669964&r1=1669963&r2=1669964&view=diff
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/util/ReleaseUtilTest.java (original)
+++ maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/util/ReleaseUtilTest.java Sun Mar 29 21:55:44 2015
@@ -21,6 +21,7 @@ package org.apache.maven.shared.release.
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
import static org.junit.Assume.*;
import java.io.File;
@@ -178,6 +179,19 @@ public class ReleaseUtilTest
}
@Test
+ public void testGetBaseScmUrlSingleLevelDotCharacter()
+ throws Exception
+ {
+ assumeTrue( Os.isFamily( Os.FAMILY_UNIX ) );
+ assertEquals( "scm:svn:http://svn.repo.com/flat-multi-module/trunk/",
+ ReleaseUtil.realignScmUrl( 0, "scm:svn:http://svn.repo.com/flat-multi-module/trunk/." ) );
+ assertEquals( "scm:svn:http://svn.repo.com/flat-multi-module/trunk/",
+ ReleaseUtil.realignScmUrl( 0, "scm:svn:http://svn.repo.com/flat-multi-module/trunk/./" ) );
+ assertEquals( "scm:svn:http://svn.repo.com/flat-multi-module/trunk/",
+ ReleaseUtil.realignScmUrl(0, "scm:svn:http://svn.repo.com/flat-multi-module/trunk/../trunk") );
+ }
+
+ @Test
public void testGetBaseScmUrlReturnOriginal()
throws Exception
{
@@ -219,34 +233,84 @@ public class ReleaseUtilTest
}
@Test
+ public void testGetBaseWorkingDirectoryParentCountSameDirectoryDotCharacter()
+ {
+ String workingDirectory = new File( "/working/directory/maven/release/." ).getAbsolutePath();
+ assertTrue( workingDirectory.contains( "." ) );
+ String basedir = new File( "/working/directory/maven/release" ).getAbsolutePath();
+ assertEquals( 0, ReleaseUtil.getBaseWorkingDirectoryParentCount( basedir, workingDirectory ) );
+
+ // finish with slash
+ workingDirectory = new File( "/working/directory/maven/release/./" ).getAbsolutePath();
+ assertTrue( workingDirectory.contains( "." ) );
+ basedir = new File( "/working/directory/maven/release" ).getAbsolutePath();
+ assertEquals( 0, ReleaseUtil.getBaseWorkingDirectoryParentCount( basedir, workingDirectory ) );
+ }
+
+ @Test
public void testGetBaseWorkingDirectoryParentCountSubdirectory()
{
- String workingDirectory = "/working/directory/maven/release";
- String basedir = "/working/directory/maven/release/maven-release-manager";
+ String workingDirectory = new File( "/working/directory/maven/release" ).getAbsolutePath();
+ String basedir = new File( "/working/directory/maven/release/maven-release-manager" ).getAbsolutePath();
assertEquals( 0, ReleaseUtil.getBaseWorkingDirectoryParentCount( basedir, workingDirectory ) );
}
@Test
public void testGetBaseWorkingDirectoryParentCountParentDirectory()
{
- String workingDirectory = "/working/directory/maven/release/maven-release-manager";
- String basedir = "/working/directory/maven/release";
+ String workingDirectory =
+ new File( "/working/directory/maven/release/maven-release-manager" ).getAbsolutePath();
+ String basedir = new File( "/working/directory/maven/release" ).getAbsolutePath();
+ assertEquals( 1, ReleaseUtil.getBaseWorkingDirectoryParentCount( basedir, workingDirectory ) );
+ }
+
+ @Test
+ public void testGetBaseWorkingDirectoryParentCountParentDirectoryDotCharacter()
+ {
+ String workingDirectory =
+ new File( "/working/directory/maven/release/maven-release-manager/." ).getAbsolutePath();
+ assertTrue( workingDirectory.contains( "." ) );
+ String basedir = new File( "/working/directory/maven/release" ).getAbsolutePath();
+ assertEquals( 1, ReleaseUtil.getBaseWorkingDirectoryParentCount( basedir, workingDirectory ) );
+
+ // finish with slash
+ workingDirectory = new File( "/working/directory/maven/release/maven-release-manager/./" ).getAbsolutePath();
+ assertTrue( workingDirectory.contains( "." ) );
+ basedir = new File( "/working/directory/maven/release" ).getAbsolutePath();
assertEquals( 1, ReleaseUtil.getBaseWorkingDirectoryParentCount( basedir, workingDirectory ) );
}
@Test
public void testGetBaseWorkingDirectoryParentCountParentDirectoryMultiple()
{
- String workingDirectory = "/working/directory/maven/release/maven-release-manager";
- String basedir = "/working/directory";
+ String workingDirectory =
+ new File( "/working/directory/maven/release/maven-release-manager" ).getAbsolutePath();
+ String basedir = new File( "/working/directory" ).getAbsolutePath();
+ assertEquals( 3, ReleaseUtil.getBaseWorkingDirectoryParentCount( basedir, workingDirectory ) );
+ }
+
+ @Test
+ public void testGetBaseWorkingDirectoryParentCountParentDirectoryMultipleDotCharacter()
+ {
+ String workingDirectory =
+ new File( "/working/directory/maven/release/maven-release-manager/./." ).getAbsolutePath();
+ assertTrue( workingDirectory.contains( "." ) );
+ String basedir = new File( "/working/directory" ).getAbsolutePath();
+ assertEquals( 3, ReleaseUtil.getBaseWorkingDirectoryParentCount( basedir, workingDirectory ) );
+
+ // finish with slash
+ workingDirectory = new File( "/working/directory/maven/release/maven-release-manager/././" ).getAbsolutePath();
+ assertTrue( workingDirectory.contains( "." ) );
+ basedir = new File( "/working/directory" ).getAbsolutePath();
assertEquals( 3, ReleaseUtil.getBaseWorkingDirectoryParentCount( basedir, workingDirectory ) );
}
@Test
public void testGetBaseWorkingDirectoryParentCountDifferentCase()
{
- String workingDirectory = "/Working/Directory/maven/release/maven-release-manager";
- String basedir = "/working/directory";
+ String workingDirectory =
+ new File( "/Working/Directory/maven/release/maven-release-manager" ).getAbsolutePath();
+ String basedir = new File( "/working/directory" ).getAbsolutePath();
assertEquals( 3, ReleaseUtil.getBaseWorkingDirectoryParentCount( basedir, workingDirectory ) );
}
Modified: maven/release/trunk/pom.xml
URL: http://svn.apache.org/viewvc/maven/release/trunk/pom.xml?rev=1669964&r1=1669963&r2=1669964&view=diff
==============================================================================
--- maven/release/trunk/pom.xml (original)
+++ maven/release/trunk/pom.xml Sun Mar 29 21:55:44 2015
@@ -70,6 +70,9 @@
<contributor>
<name>John R Fallows</name>
</contributor>
+ <contributor>
+ <name>Gertjan Gaillet</name>
+ </contributor>
</contributors>
<properties>