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]

Reply via email to