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

java.lang.Object
  extended by org.apache.maven.repository.legacy.resolver.conflict.FarthestConflictResolver
All Implemented Interfaces:
ConflictResolver

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

Resolves conflicting artifacts by always selecting the farthest declaration. Farthest is defined as the declaration that has the most transitive steps away from the project being built.

Since:
3.0
Version:
$Id: FarthestConflictResolver.java 958295 2010-06-26 23:16:18Z hboutemy $
Author:
Mark Hobson

Field Summary
 
Fields inherited from interface org.apache.maven.repository.legacy.resolver.conflict.ConflictResolver
ROLE
 
Constructor Summary
FarthestConflictResolver()
           
 
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

FarthestConflictResolver

public FarthestConflictResolver()
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.