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


Reply via email to