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 "Xavier Hanin (JIRA)" <ji...@apache.org> on 2007/01/11 06:59:27 UTC

[jira] Commented: (IVY-382) Ivy dies when it can't find evicted modules

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

Xavier Hanin commented on IVY-382:
----------------------------------

Conflict resolution and revision eviction is not a simple thing, because you have only a limited a view of the whole dependency graph at the time you look for a revision. That's why order in dependencies is important : if Ivy find the dependency on revision 1 of D before finding the dependency on revision 2, it will try to find it's module descriptor, or an artifact if no module descriptor is found. If neither one or the other is found, it is considered as an error, since at this time Ivy doesn't know that it will be evicted by the dependency on revision 2. This could be solved by marking the revision as being not found, and then only give a warning because we later find the revision 2.

If dependency on revision 2 is found before, then I think Ivy will still try to find the module descriptor of revision 1 to merge them. Indeed, imagine you had a configuration in revision 1 on which B depends that no longer exist in revision 2. This would cause an error without merging. That's why I think there is an error too in this case, even if I'm not sure. The problem is easier to solve in this case, because we already have the information that the revision 1 will be evicted.

> Ivy dies when it can't find evicted modules
> -------------------------------------------
>
>                 Key: IVY-382
>                 URL: https://issues.apache.org/jira/browse/IVY-382
>             Project: Ivy
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.4
>         Environment: JDK 1.5
>            Reporter: John Williams
>
> Suppose module A depends on B and C, B depends of revision 1 of D, and C depends revision 2 of D.  Attempting to resolve A will fail if Ivy can't find revision 1 of D, even though only revision 2 is actually needed.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira