Paul Burrowes created IVY-1570:
----------------------------------
Summary: Artifact filters from dependencies override module
includes
Key: IVY-1570
URL: https://issues.apache.org/jira/browse/IVY-1570
Project: Ivy
Issue Type: Bug
Components: Core
Affects Versions: 2.4.0
Reporter: Paul Burrowes
E.g. with three modules a, b and c, resolving for c will only fetch a.war, not
a-api.jar despite directly depending on the api conf of a.
a/ivy.xml:
<ivy>
<info module="a"/>
<configurations>
<configuration name="api"/>
<configuration name="deploy"/>
</configurations>
<publications>
<artifact name="a-api" type="jar" conf="api"/>
<artifact name="a" type="war" conf="deploy"/>
</publications>
</ivy>
b/ivy.xml
<ivy>
<info module="b"/>
<configurations>
<configuration name="api"/>
<configuration name="deploy"/>
</configurations>
<dependencies>
<dependency name="a" conf="deploy">
<artifact name="a" type="war" conf="deploy"/>
</dependency>
</dependencies>
</ivy>
c/ivy.xml
<ivy>
<info module="c"/>
<configurations>
<configuration name="api"/>
<configuration name="deploy"/>
</configurations>
<dependencies>
<dependency name="a" conf="api">
<dependency name="b" conf="deploy">
</dependencies>
</ivy>
The logic in IvyNodeUsage.getDependencyIncludesSet() is being overridden by
IvyNode.getDependencies() which treats an empty includes set as "include
nothing" when an upstream dependency provides a set of artifacts.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)