[ 
https://issues.apache.org/jira/browse/IVY-603?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12528038
 ] 

Xavier Hanin commented on IVY-603:
----------------------------------

I agree this is a bug, but I'm not sure about the expected result. IMO, 
replacing 1+ by 1.2 would be more correct, because 1+ is resolved as being 1.2, 
not 2.2. 2.2 is the version selected after conflict resolution. And this still 
ensure dependency resolution reproducibility (since the exact same conflict 
resolution will occur). 

What makes me think this solution is better is if you have different conflict 
resolutions in different configurations. Imagine you depend on C 2.0 only in 
conf runtime, but depends on A 1+ in both runtime and buildtime confs. Then the 
selected version for A will be 1.2 for the buildtime conf and 2.2 for the 
runtime conf. So in this case I see no other solution than replacing 1+ by 1.2, 
and conflict resolution will do the rest when reproducing the dependency 
resolution.

Does it make sense? Do you think I can mark the issue resolved if I fix the 
issue like I suggest?

> Static revision replacement is not working when a dynamic revision is evicted 
> by a transitive dependency.
> ---------------------------------------------------------------------------------------------------------
>
>                 Key: IVY-603
>                 URL: https://issues.apache.org/jira/browse/IVY-603
>             Project: Ivy
>          Issue Type: Bug
>          Components: Ant, Core
>    Affects Versions: 1.4.1, 2.0.0-alpha-2
>            Reporter: Matthias Kilian
>            Assignee: Xavier Hanin
>         Attachments: deliver-dyn-evicted-1.4.x.diff, 
> deliver-dyn-evicted-trunk.diff
>
>
> If A depends on B, rev="1+" (which resolves to, say, A-1.2) and on C, 
> rev="2.0", *and* C-2.0 depends on A, rev="2.2", i.e. if during resolution a 
> dynamic dependency (A-1+ in this case) is evicted via a transitive dependency 
> (A-2.2 via C-2.0), the delivered Ivy-file still contains the A-1+ dependency.
> This seems to be similar to IVY-404 and IVY-415, but maybe completely 
> unrelated implementation-wise.
> I'll append testcases for both 1.4.x and trunk.

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

Reply via email to