Hi Andrew, 2008/10/30 Andrew Lee Rubinger <[EMAIL PROTECTED]>: > Asking here on the dev-list because I would like to contribute to any of the > points below if unaddressed. > > What is the current status of the ConflictResolver SPI as outlined in: > > * http://docs.codehaus.org/display/MAVEN/Conflict+Resolvers > * http://www.nabble.com/-m2--Conflict-resolvers-td10144607i40.html > > ...? > > The issue is tracked as open in: > > http://jira.codehaus.org/browse/MNG-612
Good question :) I started this a long time ago when we required more sophisticated conflict resolution than nearest-wins but unfortunately it has never made it into a release of Maven, although it has been applied to the new separate maven-artifact 3.x which Maven trunk (3.x) uses. I haven't pursued this of recent since there was talk of overhauling maven-artifact and the whole dependency resolution mechanism in general with Mercury: http://docs.codehaus.org/display/MAVEN/Mercury AFAIK Mercury will supersede MNG-612 and provide customisable conflict resolvers, although I am not aware of the details. Perhaps Oleg could confirm this and put both our minds at rest? :) > Additionally, I'm not seeing a "FailFastConflictResolver" in > org.apache.maven.artifact.resolver, the purpose of which would be to > immediately fail the build if two projects bring in transitive dependencies > of different versions. Perhaps this is because conflict resolvers are based > on a chain implementation, and it's not the resolver itself which has > authority to fail a build (ie. can just return null and delegate to the next > resolver in the chain)? It is true that a single conflict resolver cannot fail-fast with the current API, although in reality I'd suspect that a chain of resolvers would rarely be used. Perhaps something to consider for the new Mercury API? > Some related questions: > > * Is support here planned to be backported into 2.0.x or 2.1.x? I do see > some year-old commits into > https://svn.apache.org/repos/asf/maven/components/branches/MNG-612-2.0.x/, > for example. > * Is there a publicly-viewable roadmap for 3.0 with time estimates? This won't be added to 2.0.x since that line is stable with only bug fixes being applied. I'd rather see efforts applied to integrate Mercury into Maven if this truly supersedes MNG-612. This could be a possibility for 2.1.x but I believe it's currently targeted for 2.2.x: http://docs.codehaus.org/display/MAVEN/Maven+2.2.0+Release+Plan http://jira.codehaus.org/browse/MERCURY-11 > * I see ConflictResolver unit tests to check for proper resolution, but no > examples of a POM configuring an explicit ConflictResolver set? Nope, I don't believe there are any integration tests for MNG-612 yet due to its in limbo status. > We've moved our build implementation heavily to Maven over at JBoss within > the Application Server, and I'd like to help augment Maven to fit our needs. Yep, we're eager to start using fail-fast highest-wins version ranges ASAP here too. Hopefully it's not too far away now thanks to all Oleg's hard work.. > Appreciated. :) Cheers, Mark --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]