[ http://jira.codehaus.org/browse/MRELEASE-449?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=204972#action_204972 ]
Dennis Lundberg commented on MRELEASE-449: ------------------------------------------ I can confirm that the sample project fails in the way that is described in this issue. What I can't understand is, how doing a release in this way could work outside a dry run. You can't release a parent from a child can you? Also parent 1.0 must be deployed prior to child 1.1 (specifying parent-1.0 as parent) being released. > Parent snapshot version is not rewritten to resolved non-snapshot version > during release:prepare > ------------------------------------------------------------------------------------------------ > > Key: MRELEASE-449 > URL: http://jira.codehaus.org/browse/MRELEASE-449 > Project: Maven 2.x Release Plugin > Issue Type: Bug > Components: prepare > Affects Versions: 2.0-beta-9 > Reporter: Steve Gilbert > Priority: Critical > Fix For: 2.0-beta-10 > > Attachments: maven-release-rewrite-parent-bug.patch, > parent_version_rewrite_bug.zip > > > When a pom has a parent specified with a snapshot version, when "mvn > release:prepare" is executed, the version entered by the user when prompted > to resolve the parent version is not used when the pom is rewritten. The > parent version remains at the snapshot version in the rewritten pom. > This happens in dry run mode and normal mode. > I will attach a zip file with a simple example/test case that shows the bug. > The steps to reproduce using the zip file: > 1. cd to parent > 2. execute "mvn install" > 3. cd to ../child > 4. execute "mvn -DdryRun=true release:prepare" answering "yes" to the first > "resolve dependencies?" question and then answering with the default to > all the other questions > 5. cat pom.xml.tag noticing the parent SNAPSHOT version has not been replaced > The cause of this appears to be in AbstractRewritePomsPhase.rewriteParent. > This method only consults the mappedVersions Map, however when the release > plugin is executed from the command line and the user enters the version > number to resolve the snapshot dependency (even using the default provided by > the release plugin) the values are stored in the resolvedSnapshotDependencies > Map only. > I've modified the code to consult both Maps which is what other methods in > the class do when rewriting dependency snapshot revisions. I have provided a > patch with the modified code. The patch also contains a new test method in > RewritePomsForReleasePhaseTest that will fail without the patch and pass with > it. > The patch was taken from maven-release 2.0-beta-9 and can be applied with > {code} > patch -p0 < ~/maven-release-rewrite-parent-bug.patch > {code} -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira