[ https://issues.apache.org/jira/browse/IVY-1656?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Maarten Coene updated IVY-1656: ------------------------------- Fix Version/s: 2.6.0 > deliver writes extended configuration dependencies after local dependencies > --------------------------------------------------------------------------- > > Key: IVY-1656 > URL: https://issues.apache.org/jira/browse/IVY-1656 > Project: Ivy > Issue Type: Bug > Components: Ant > Reporter: Eric Milles > Assignee: Maarten Coene > Priority: Major > Fix For: 2.6.0 > > > Given two Ivy modules, where one extends the other: > {code:xml} > <ivy-module > version="2.0" > xmlns:m="http://ant.apache.org/ivy/maven" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd"> > <info module="One" organisation="xxx" /> > <configurations> > <conf name="master" /> > </configurations> > <dependencies defaultconf="master" > defaultconfmapping="*->master,runtime()"> > <dependency org="abc" name="def" rev="1.2.3" /> > </dependencies> > </ivy-module> > {code} > {code:xml} > <ivy-module > version="2.0" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd"> > <info module="Two" organisation="xxx"> > <extends module="One" organisation="xxx" > extendType="configurations,dependencies" location="../One/ivy.xml" > revision="latest" /> > </info> > <dependencies defaultconf="master" > defaultconfmapping="*->master,runtime()"> > <dependency org="www" name="xyz" rev="1.2.3" /> > </dependencies> > </ivy-module> > {code} > Ivy resolves abc:def:1.2.3 then www:xyz:1.2.3. However, when delivering, the > combined ivy.xml is written as: > {code:xml} > <ivy-module > version="2.0" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd"> > <info module="Two" organisation="xxx"> > <!-- <extends module="One" organisation="xxx" > extendType="configurations,dependencies" location="../One/ivy.xml" > revision="latest" /> --> > </info> > <configurations> > <conf name="master" /> > </configurations> > <dependencies defaultconf="master" > defaultconfmapping="*->master,runtime()"> > <dependency org="www" name="xyz" rev="1.2.3" /> > <!-- dependencies inherited from xxx#One;working@hostname --> > <dependency org="abc" name="def" rev="1.2.3" /> > </dependencies> > </ivy-module> > {code} > Thus when Ivy re-resolves this the order is reversed. If a conflict manager > other than "latest version" is used, this can be a problem for a transitive > dependency of both deps. And when converted to Maven metadata with makepom, > "nearest definition" definitely comes into play. -- This message was sent by Atlassian Jira (v8.20.10#820010)