org.sonatype.aether.util.graph.transformer
Class NearestVersionConflictResolver

java.lang.Object
  extended by org.sonatype.aether.util.graph.transformer.NearestVersionConflictResolver
All Implemented Interfaces:
DependencyGraphTransformer

public class NearestVersionConflictResolver
extends Object
implements DependencyGraphTransformer

A dependency graph transformer that resolves version conflicts using the nearest-wins strategy. For a given set of conflicting nodes, one node will be chosen as the winner and the other nodes are removed from the dependency graph. This transformer will query the keys TransformationContextKeys.CONFLICT_IDS and TransformationContextKeys.SORTED_CONFLICT_IDS for existing information about conflict ids. In absence of this information, it will automatically invoke the ConflictIdSorter to calculate it.

Author:
Benjamin Bentmann

Constructor Summary
NearestVersionConflictResolver()
           
 
Method Summary
 DependencyNode transformGraph(DependencyNode node, DependencyGraphTransformationContext context)
          Transforms the dependency graph denoted by the specified root node.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NearestVersionConflictResolver

public NearestVersionConflictResolver()
Method Detail

transformGraph

public DependencyNode transformGraph(DependencyNode node,
                                     DependencyGraphTransformationContext context)
                              throws RepositoryException
Description copied from interface: DependencyGraphTransformer
Transforms the dependency graph denoted by the specified root node. The transformer may directly change the provided input graph or create a new graph.

Specified by:
transformGraph in interface DependencyGraphTransformer
Parameters:
node - The root node of the (possibly cyclic!) graph to transform, must not be null.
context - The graph transformation context, must not be null.
Returns:
The result graph of the transformation, never null.
Throws:
RepositoryException - If the transformation failed.


Copyright © 2010-2013. All Rights Reserved.