org.apache.maven.repository.legacy.resolver.conflict
Class NearestConflictResolver

java.lang.Object
  extended by org.apache.maven.repository.legacy.resolver.conflict.NearestConflictResolver
All Implemented Interfaces:
ConflictResolver
Direct Known Subclasses:
DefaultConflictResolver

@Component(role=ConflictResolver.class,
           hint="nearest")
public class NearestConflictResolver
extends Object
implements ConflictResolver

Resolves conflicting artifacts by always selecting the nearest declaration. Nearest is defined as the declaration that has the least transitive steps away from the project being built.

Since:
3.0
Version:
$Id: NearestConflictResolver.java 958295 2010-06-26 23:16:18Z hboutemy $
Author:
Jason van Zyl, Mark Hobson

Field Summary
 
Fields inherited from interface org.apache.maven.repository.legacy.resolver.conflict.ConflictResolver
ROLE
 
Constructor Summary
NearestConflictResolver()
           
 
Method Summary
 ResolutionNode resolveConflict(ResolutionNode node1, ResolutionNode node2)
          Determines which of the specified versions of an artifact to use when there are conflicting declarations.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NearestConflictResolver

public NearestConflictResolver()
Method Detail

resolveConflict

public ResolutionNode resolveConflict(ResolutionNode node1,
                                      ResolutionNode node2)
Description copied from interface: ConflictResolver
Determines which of the specified versions of an artifact to use when there are conflicting declarations.

Specified by:
resolveConflict in interface ConflictResolver
Parameters:
node1 - the first artifact declaration
node2 - the second artifact declaration
Returns:
the artifact declaration to use: node1; node2; or nullif this conflict cannot be resolved


Copyright © 2001-2010 The Apache Software Foundation. All Rights Reserved.