Hi there, I've had an initial stab at implementing ConflictResolvers and attached a patch to MNG-612. If people wouldn't mind taking a peek, I'd appreciate some feedback on the following:
1) ConflictResolver API - is the negative/positive/zero return type sufficient, or would a boolean return type with an exception for the unresolvable state be more appropriate? 2) ArtifactCollector signature change - is this okay or will it break lots of code? If we are to maintain the original signatures, then should we really obtain a default ConflictResolver implementation via plexus? 3) New ArtifactResolver overloaded method okay? The original method implementations in DefaultArtifactResolver assume plexus default - is this okay or should it be passed in? 4) DefaultArtifactCollectorTest - many tests assume nearest conflict resolver, should these be refactored out? 5) ResolutionListener.OMIT_FOR_NEARER - should this be refactored to OMIT_FOR_CONFLICT? 6) Configuration - how do we specify a different conflict resolver implementation for the build? This does overlap with MNG-2771, but do we want a friendlier POM configuration based on role hints? e.g. <build><conflictResolver>newest</conflictResolver></build>. Does specifying an alternative conflict resolver in Maven's components.xml potentially cause problems outside of the build and within Maven itself? 7) Conflict resolver implementation names - newest/oldest or highest/lowest? 8) Any more conflict resolver implementations required? I've got some time allocated to work on this, so any thoughts are welcome and hopefully we can get this much-needed functionality into Maven. Cheers, Mark --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
