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)

Reply via email to