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.