Delivered ivy descriptor inconsistent with resolve report / retrieve and other
post-resolve actions
---------------------------------------------------------------------------------------------------
Key: IVY-1300
URL: https://issues.apache.org/jira/browse/IVY-1300
Project: Ivy
Issue Type: Bug
Affects Versions: 2.2.0
Reporter: Ed Burcher
Priority: Critical
When there is a conflict with the following characteristics, there is
inconsistency of behaviour between most post-resolve actions, and the deliver
action. Whereas retrieve / report etc are correct w.r.t the selected revision,
Deliver produces an ivy descriptor that contains the evicted revision.
The characteristics are:
* Branches are in use
* No special conflict manager or latest strategies are configured
* There is a direct dependency on the module, and a transitive dependency on it
* The transitive dependency has a higher version number than the direct
dependency, BUT is on a different branch
* This is a conflict; the (default) conflict manager selects the
indirect/transitive one because its revision is 'latest' as you would expect
* The ivy report and retrieve results reflect this selection
* The delivered ivy descriptor contains the evicted version of the dependency
Notes
* Force is not in use
* It is appreciably the case that it is most often an error (logically
speaking) to have a conflict amongst different versions on different branches.
Nevertheless, one expects ivy to behave consistently.
In my view, here are the factors causing this:
* the properties file written during the resolve process does not contain the
selected branch information, only the requested branch (and only for the most
direct dependency spec, if there are several)
* in deliver, the iterator of the dependencies does not process those
dependency IvyNodes that are not referenced directly by the root IvyNode. So
where an indirect IvyNode was selected, it is ignored. This is a logic error.
The properties file written during the resolve seems to be a frequent source of
bugs. I wonder why the xml report is not used? IVY-1159 was also down to
insufficient information in the properties file.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira