Release prepare fails to update version information for ejb-client dependencies
-------------------------------------------------------------------------------

                 Key: MRELEASE-178
                 URL: http://jira.codehaus.org/browse/MRELEASE-178
             Project: Maven 2.x Release Plugin
          Issue Type: Bug
    Affects Versions: 2.0-beta-4
            Reporter: Eric Bernstein


If you use the dependency management section of a parent pom to include 
sub-poms of the same project, the release plugin will update the version number 
for those projects as part of the prepare phase. 
Unfortunately, if you have two dependencies with the same groupId and 
artifactId (as is the case with generated ejb-clients) prepare will just update 
one of them.  

I believe the problem in the code is in 
AbstractRewritePomsPhase.updateDomVersion.  The code currently uses an xpath 
expression matching on groupId and artifactId and then calls 
xpath.getSingleNode to find the object to update.  This will leave out one of 
the dependencies (either ejb or ejb-client).  

I'm having a little trouble writing a unit test for this (hence no patch 
upload), but if I could do that, I believe the fix would either be looping over 
the elements returned from the xpath expression, or altering the xpath 
expression (and the rest of the artifact handling - read: bigger change) to be 
more explicit about what artifacts it's looking at (including type, classifier, 
etc...).  

-- 
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

        

Reply via email to