You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ivy-commits@incubator.apache.org by "Oystein Aadland (JIRA)" <ji...@apache.org> on 2007/06/26 10:29:26 UTC

[jira] Updated: (IVY-541) Transitive dependencies resolves incorrectly when different modules uses the same dependency with different configurations in the same build

     [ https://issues.apache.org/jira/browse/IVY-541?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Oystein Aadland updated IVY-541:
--------------------------------

    Attachment: IvyNode.java

Modifed source file for review

> Transitive dependencies resolves incorrectly when different modules uses the same dependency with different configurations in the same build
> --------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: IVY-541
>                 URL: https://issues.apache.org/jira/browse/IVY-541
>             Project: Ivy
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.4.1
>         Environment: NA
>            Reporter: Oystein Aadland
>         Attachments: IvyNode.java
>
>
> When modules that uses the same dependencies with different configuration(or different includes) then only the first module that is resolved gets the artifacts that it specifies. The other gets what was last resolved.
> Module A that uses module B.
> Module B uses a build configuration of module C
> Module A uses a build configuration of module C and a runtime configuration
> of module B
> Module B downloads explicit jars from C depending on configuration.
> When I resolve A in build configuration I only get the explicit defined
> runtime jars that B defines for module C.
> Here are snippets of the ivy files.
> Module A:
> ...
> <dependencies>
>   <dependency org="myorg" name="B" rev="1.6" conf="build->runtime" />
>   <dependency org="myorg" name="C" rev="1.10" conf="build,runtime->default"
> />
> </dependencies>
> ...
> Module B
> ...
> <configurations>
>     <conf name="build" visibility="private"/>
>     <conf name="runtime"/>
> </configurations>
> <dependencies>
>   <dependency org="myorg" name="C" rev="1.10" conf="build,runtime->default">
>       <artifact name="art1" type="jar" conf="runtime"/>
>       <artifact name="art2" type="jar" conf="runtime"/>
>       <artifact name="art3" type="jar" conf="runtime"/>
>   </dependency>
> </dependencies>
> ...
> Module C
> ...
> <publications>
>         <artifact name="art1" type="jar" conf="default"/>
>         <artifact name="art2" type="jar" conf="default"/>
>         <artifact name="art3" type="jar" conf="default"/>
>         <artifact name="art4" type="jar" conf="default"/>
> </publications>
> ...
> If module A had explicitly added the artifacts that it needed for module C it would have worked fine. The way it should work is that if no specific artifacts are included, the all artifacts for the given configuration should have been included.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.