Gertjan Gaillet created MRELEASE-871:
----------------------------------------
Summary: Release Tag wrongly created when invoked pom.xml path
contains a '.'
Key: MRELEASE-871
URL: https://jira.codehaus.org/browse/MRELEASE-871
Project: Maven Release Plugin
Issue Type: Bug
Components: perform, scm
Affects Versions: 2.5
Environment: RHEL Linux, Windows 7, most probably others
Reporter: Gertjan Gaillet
Attachments: ReleaseUtil.java.patch
*Issue*
When invoking the maven release plugin on a pom.xml referenced by a path
including a '.', the release tag created is incorrect.
Example: mvn clean release:clean release:prepare release:perform \[options\] -f
./pom.xml
This is true for both modular and hierarchical projects:
{code}/parent-pom/pom.xml
/module-a/pom.xml
/module-b/pom.xml{code}
and
{code}/pom.xml <-- this is the parent pom
/module-a/pom.xml
/module-b/pom.xml{code}
When releasing projects with either structure, invoking maven with "-f
./parent-pom/pom.xml" and "-f ./pom.xml" respectively, the tag operation copies
from one level too high. For example if the svn structure is as follows:
{code}/trunk (at v 1.0.0-SNAPSHOT)
/branches/project-0.1.x (at v 0.1.0-SNAPSHOT)
/branches/project-0.2.x (at v 0.2.0-SNAPSHOT)
/tags/project-0.1.0{code}
and a release is being made from trunk, the tag project-1.0.0 would contain the
complete svn structure. When a release is being made from
/branches/project-0.1.x, the tag project-0.1.0 would contain the two branches:
{code}/branches/project-0.1.x
/branches/project-0.2.x{code}
*Root cause*
After some debugging, I've found that the issue is caused by function
getBaseWorkingDirectoryParentCount in
org.apache.maven.shared.release.util.ReleaseUtil.
I've created a patch, as attached, and tested it successfully on Windows7 and
RHEL, with jdk1.6.0_26.
Let me know if the patch is OK (we are currently using it without any issue,
and resolving this bug) and I'll commit it accordingly.
--
This message was sent by Atlassian JIRA
(v6.1.6#6162)