[ https://issues.apache.org/jira/browse/IVY-1111?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Maarten Coene updated IVY-1111: ------------------------------- Fix Version/s: 2.2.0-RC1 (was: trunk) > Ivy deliver fails to replace dynamic revision when using extra attributes > ------------------------------------------------------------------------- > > Key: IVY-1111 > URL: https://issues.apache.org/jira/browse/IVY-1111 > Project: Ivy > Issue Type: Bug > Components: Core > Affects Versions: 2.1.0-RC2 > Environment: Ivy 2.1.0-rc2 - 20090704004254 > Apache Ant version 1.7.0 compiled on December 13 2006 > Reporter: Michael Scheetz > Assignee: Maarten Coene > Fix For: 2.2.0-RC1 > > Attachments: IVY-1111.svn.patch, ivy-1111.zip > > > Running ivy:deliver does not replace the dynamic revision correctly if I also > use extended attributes. > My Repository contains four modules: junit in revision 3.8 and 4.4. A Module > A that depends on junit 4.4 and a module B that depends on junit "3.8.+". (I > just copied this layout from a similar defect, IVY-999). (I will add a zip > with this setup once I figure out how). > My ivy.xml file: > <?xml version="1.0" encoding="UTF-8"?> > <ivy-module version="2.0" xmlns:e="http://ant.apache.org/ivy/extra"> > <info organisation="test" module="c" e:att="att" /> > <!--adressmodul --> > <configurations> > <conf name="default" visibility="public"/> > </configurations> > <publications/> > <dependencies> > <dependency org="test" name="a" rev="latest.integration"/> > <dependency org="junit" name="junit" conf="default" > rev="latest.integration"/> > <dependency org="test" name="b" rev="latest.integration" e:att="att"/> > </dependencies> > </ivy-module> > The resultant ivy.xml after running the deliver task: > <?xml version="1.0" encoding="UTF-8"?> > <ivy-module version="2.0" xmlns:e="http://ant.apache.org/ivy/extra"> > <info organisation="test" module="c" revision="20090819111124" > status="integration" publication="20090819111124" e:att="att"/> > <!--adressmodul --> > <configurations> > <conf name="default" visibility="public"/> > </configurations> > <publications/> > <dependencies> > <dependency org="test" name="a" rev="1" > revConstraint="latest.integration"/> > <dependency org="junit" name="junit" conf="default" rev="4.4" > revConstraint="latest.integration"/> > <dependency org="test" name="b" rev="latest.integration" e:att="att"/> > </dependencies> > </ivy-module> > Update: > A problem appears to be in the DeliverEngine.deliver(ModuleRevisionId, > String, String, DeliverOptions) method, in step #3. Using SVN revision > 811164, the line at 159 is: > String rev = (String) > resolvedRevisions.get(dependencies[i].getDependencyRevisionId()); > if (rev == null) { > rev = dependencies[i].getDependencyRevisionId().getRevision(); > } > There are two ModuleRevisionId objects, one in the map and one in the > DependencyDescriptor but they have different extra attributes. The one in > the DependencyDescriptor includes the namespace on the extra attribute while > the one in the map does not. Hence the lookup in the map is a miss so the > failover action is to use the revision out of the DependencyDescriptor > objects ModuleRevisionId, which is a dynamic revision. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.