I think that a significant bug related to dependency conflicts has been
introduced some time between revision 1590 and 1636 (I know that is a long
time). I suspect that the problem was introduced with revision 1633 but I don't
understand the resolving mechanism well enough to fix this.
I change the groovy quickstart sample in the conflict branch of my git repo at
git://github.com/sappling/gradle.git to demonstrate this.
In this example I changed the testCompile configuration to depend on version
3.8.1 of junit. The groovy 1.6.0 dependency has a transitive dependency to
version 3.8.2 of junit. This seems to cause Report2Classpath to filter out
junit alltogether from the test classpath instead of using the most recent
version or reporting an error. If you change the version of junit requested in
the sample's build.gradle to 3.8.2 or exclude junit from the groovy
configuration it will work fine. Note that this works with version 3.8.1 if you
use gradle 0.6.1, but not with the current trunk.
This has been the source of several problems for us over the last week and was
very hard to track down. We are temporarily working around it by adding some
exclude rules to certain problematic configurations.
I wonder if this is also the root cause of the problem that Russel Winder has
been discussing on the user list.
--
Steve Appling
Automated Logic Research Team
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email