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

Reply via email to