[GRADLE-1895] version conflict reporting/listening Created: 05/Nov/11 Updated: 04/Jan/13 Resolved: 06/Dec/12
|Reporter:||Szczepan Faber||Assignee:||Szczepan Faber|
The use case is that the team would like to be able to report on what are the conflicts and how they are resolved. All for better control of dependency management across multiple teams in a big organisation.
By default, gradle uses 'latest' version conflict policy. Which means the conflicts are automatically resolved. The problem is that the team does not know when the conflict occurred, there is no reporting for that, there's no listener one can hook into conflict resolution algorithm.
The requested feature is not useful when used with recently added 'failOnVersionConflict'. However, it is still useful when 'failOnVersionConflict' is coupled with recently added feature of declaring forced transitive dependency versions.
This feature is important for one of our clients.
|Comment by Szczepan Faber [ 05/Nov/11 ]|
We discussed this some time ago; Here's Adam's idea:
For the purposes of reporting, I'd put these things in the resolved meta-data, rather than use a listener. For each resolved dependency, you should be able to ask: what was requested (ie what was the declared dependency), what ended up being used (which is already), and why they are different. This is information we want to use in other situations, too, such as substituting the actual dependencies into a generated dependency descriptor.
|Comment by Adam Murdoch [ 06/Dec/12 ]|
Can we close this now?
|Comment by Szczepan Faber [ 06/Dec/12 ]|
The problem can be solved with the dependencyInsight report and/or using the ResolutionResult API.