You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by "Payam Hekmat (JIRA)" <ji...@apache.org> on 2010/07/09 23:48:49 UTC

[jira] Created: (IVY-1204) Dependency resolution fails if a dependency is resolved and a blacklisted revision is later transitively loaded

Dependency resolution fails if a dependency is resolved and a blacklisted revision is later transitively loaded
---------------------------------------------------------------------------------------------------------------

                 Key: IVY-1204
                 URL: https://issues.apache.org/jira/browse/IVY-1204
             Project: Ivy
          Issue Type: Bug
          Components: Core
    Affects Versions: 2.2.0-RC1, 2.1.0
            Reporter: Payam Hekmat


Given 3 modules in the following configuration ('->' indicates a
dependency):
Module A: v1.0
          v1.1
Module B: v2.0
            ->A v1.0
          v2.1
            ->A v1.0
Module C: v3.0
            ->A v1.0
            ->B v2.1 
          v3.1
            ->A v1.1
            ->B v2.1 (yes, C v3.1 is technically impossible to resolve)

With an ivy file declaring the dependencies: 
        <dependency org="foo" name="A" rev="1.+" />
        <dependency org="foo" name="B"  rev="2.+" />
        <dependency org="foo" name="C"  rev="3.+" />

Using the 'latest-compatible' conflict manager, I'd expect it to resolve to A v1.0, B v2.0, C v3.0, but it only resolves to B v2.1, C v3.1. If I change the order of the dependency elements around (e.g. A,C,B or B,C,A), it resolves correctly. In the original order, it restarts the resolve process trying to handle incompatibilities between A v1.0 and A v1.1. 


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


[jira] Commented: (IVY-1204) Dependency resolution fails if a dependency is resolved and a blacklisted revision is later transitively loaded

Posted by "Eric Jensen (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/IVY-1204?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12904387#action_12904387 ] 

Eric Jensen commented on IVY-1204:
----------------------------------

this could be related to the infinite loop I still get in 2.2.0-RC1 when resolving transitive dependencies:

[ivy:resolve] BLACKLISTING [org.slf4j#slf4j-api;1.6.1 blacklisted to evict org.slf4j#slf4j-api;1.6.1 in favor of org.slf4j#slf4j-api;1.5.11 in com.twitter#composition-client;working@tw-mbp-ejensen.local for default]
[ivy:resolve] BLACKLISTING [org.slf4j#slf4j-api;1.6.1 blacklisted to evict org.slf4j#slf4j-api;1.6.1 in favor of org.slf4j#slf4j-api;1.5.11 in com.twitter#composition-client;working@tw-mbp-ejensen.local for default]
[ivy:resolve] BLACKLISTING [org.slf4j#slf4j-api;1.6.1 blacklisted to evict org.slf4j#slf4j-api;1.6.1 in favor of org.slf4j#slf4j-api;1.5.11 in com.twitter#composition-client;working@tw-mbp-ejensen.local for default]
[ivy:resolve] BLACKLISTING [org.slf4j#slf4j-api;1.6.1 blacklisted to evict org.slf4j#slf4j-api;1.6.1 in favor of org.slf4j#slf4j-api;1.5.11 in com.twitter#composition-client;working@tw-mbp-ejensen.local for default]
[ivy:resolve] BLACKLISTING [org.slf4j#slf4j-api;1.6.1 blacklisted to evict org.slf4j#slf4j-api;1.6.1 in favor of org.slf4j#slf4j-api;1.5.11 in com.twitter#composition-client;working@tw-mbp-ejensen.local for default]
[ivy:resolve] BLACKLISTING [org.slf4j#slf4j-api;1.6.1 blacklisted to evict org.slf4j#slf4j-api;1.6.1 in favor of org.slf4j#slf4j-api;1.5.11 in com.twitter#composition-client;working@tw-mbp-ejensen.local for default]
[ivy:resolve] BLACKLISTING [org.slf4j#slf4j-api;1.6.1 blacklisted to evict org.slf4j#slf4j-api;1.6.1 in favor of org.slf4j#slf4j-api;1.5.11 in com.twitter#composition-client;working@tw-mbp-ejensen.local for default]
[ivy:resolve] BLACKLISTING [org.slf4j#slf4j-api;1.6.1 blacklisted to evict org.slf4j#slf4j-api;1.6.1 in favor of org.slf4j#slf4j-api;1.5.11 in com.twitter#composition-client;working@tw-mbp-ejensen.local for default]
...forever

> Dependency resolution fails if a dependency is resolved and a blacklisted revision is later transitively loaded
> ---------------------------------------------------------------------------------------------------------------
>
>                 Key: IVY-1204
>                 URL: https://issues.apache.org/jira/browse/IVY-1204
>             Project: Ivy
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.1.0, 2.2.0-RC1
>            Reporter: Payam Hekmat
>         Attachments: ivy-1204-test.patch, ivy-1204.patch
>
>
> Given 3 modules in the following configuration ('->' indicates a
> dependency):
> Module A: v1.0
>           v1.1
> Module B: v2.0
>             ->A v1.0
>           v2.1
>             ->A v1.0
> Module C: v3.0
>             ->A v1.0
>             ->B v2.1 
>           v3.1
>             ->A v1.1
>             ->B v2.1 (yes, C v3.1 is technically impossible to resolve)
> With an ivy file declaring the dependencies: 
>         <dependency org="foo" name="A" rev="1.+" />
>         <dependency org="foo" name="B"  rev="2.+" />
>         <dependency org="foo" name="C"  rev="3.+" />
> Using the 'latest-compatible' conflict manager, I'd expect it to resolve to A v1.0, B v2.0, C v3.0, but it only resolves to B v2.1, C v3.1. If I change the order of the dependency elements around (e.g. A,C,B or B,C,A), it resolves correctly. In the original order, it restarts the resolve process trying to handle incompatibilities between A v1.0 and A v1.1. 

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


[jira] Updated: (IVY-1204) Dependency resolution fails if a dependency is resolved and a blacklisted revision is later transitively loaded

Posted by "Payam Hekmat (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/IVY-1204?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Payam Hekmat updated IVY-1204:
------------------------------

    Attachment: ivy-1204.patch
                ivy-1204-test.patch

Tentative patch and test case for the issue. 

I'm not entirely sure if my assumptions around VisitData, VisitNode and ResolveData are correct, but the patch passes the Ivy tests and the attached case. I'd appreciate any insights here. 

> Dependency resolution fails if a dependency is resolved and a blacklisted revision is later transitively loaded
> ---------------------------------------------------------------------------------------------------------------
>
>                 Key: IVY-1204
>                 URL: https://issues.apache.org/jira/browse/IVY-1204
>             Project: Ivy
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.1.0, 2.2.0-RC1
>            Reporter: Payam Hekmat
>         Attachments: ivy-1204-test.patch, ivy-1204.patch
>
>
> Given 3 modules in the following configuration ('->' indicates a
> dependency):
> Module A: v1.0
>           v1.1
> Module B: v2.0
>             ->A v1.0
>           v2.1
>             ->A v1.0
> Module C: v3.0
>             ->A v1.0
>             ->B v2.1 
>           v3.1
>             ->A v1.1
>             ->B v2.1 (yes, C v3.1 is technically impossible to resolve)
> With an ivy file declaring the dependencies: 
>         <dependency org="foo" name="A" rev="1.+" />
>         <dependency org="foo" name="B"  rev="2.+" />
>         <dependency org="foo" name="C"  rev="3.+" />
> Using the 'latest-compatible' conflict manager, I'd expect it to resolve to A v1.0, B v2.0, C v3.0, but it only resolves to B v2.1, C v3.1. If I change the order of the dependency elements around (e.g. A,C,B or B,C,A), it resolves correctly. In the original order, it restarts the resolve process trying to handle incompatibilities between A v1.0 and A v1.1. 

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