Class DefaultGraphConflictResolver
- java.lang.Object
-
- org.apache.maven.repository.metadata.DefaultGraphConflictResolver
-
- All Implemented Interfaces:
GraphConflictResolver
@Component(role=GraphConflictResolver.class) public class DefaultGraphConflictResolver extends Object implements GraphConflictResolver
Default conflict resolver.Implements closer newer first policy by default, but could be configured via plexus- Author:
- Oleg Gusakov
-
-
Field Summary
Fields Modifier and Type Field Description protected GraphConflictResolutionPolicy
policy
artifact, closer to the entry point, is selected-
Fields inherited from interface org.apache.maven.repository.metadata.GraphConflictResolver
ROLE
-
-
Constructor Summary
Constructors Constructor Description DefaultGraphConflictResolver()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description MetadataGraph
resolveConflicts(MetadataGraph graph, ArtifactScopeEnum scope)
Cleanses the supplied graph by leaving only one directed versioned edge\ between any two nodes, if multiple exists.
-
-
-
Field Detail
-
policy
@Requirement(role=GraphConflictResolutionPolicy.class) protected GraphConflictResolutionPolicy policy
artifact, closer to the entry point, is selected
-
-
Method Detail
-
resolveConflicts
public MetadataGraph resolveConflicts(MetadataGraph graph, ArtifactScopeEnum scope) throws GraphConflictResolutionException
Description copied from interface:GraphConflictResolver
Cleanses the supplied graph by leaving only one directed versioned edge\ between any two nodes, if multiple exists. Uses scope relationships, defined inArtifactScopeEnum
- Specified by:
resolveConflicts
in interfaceGraphConflictResolver
- Parameters:
graph
- the "dirty" graph to be simplified via conflict resolutionscope
- scope for which the graph should be resolved- Returns:
- resulting "clean" graph for the specified scope
- Throws:
GraphConflictResolutionException
-
-