On 20/12/2011, at 8:27 AM, Mike Mills wrote:
> On Sat, Dec 17, 2011 at 7:50 PM, Niclas Hedhman <[email protected]> wrote:
>> systems, where most of 'real' developers live, it is purely
>> coincidental whether the build system make an "accurate enough" guess
>> of what you have in mind.
>>
>
> Perhaps the easy solution is to have a build option whereby the build
> fails dependency resolution if there are ANY conflicting versions.
>
> This would force the developer adding a new dependency to a project to
> think about and correct dependency resolution problems as they arise.
>
> For Niclas's example, the build would not work until C 1.0 or C 1.1 is
> specified.
That's pretty much what I've settled on for looking for compatibility between
our maven and ivy/gradle/grails projects. Using the maven enforcer plugin to
force dependencies to converge certainly caused a lot of these sort of problems
to bubble upwards and be exposed. (Including some nasty cyclic dependencies in
3rdparty poms...)
The fact that ivy doesn't pass version constraints upwards remains a problem,
but less serious. Between forced versions and the new fail-on-conflict option,
I can solve the problem I was focussed on.
I'd still like to solve the dependency resolution problem, but it's less
urgent, and - more importantly - no longer a blocker for me to consider Gradle
as a tool at work. Looking forward to the 1.0-milestone-7 release.
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email