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
Modifier and TypeFieldDescriptionprotected GraphConflictResolutionPolicy
artifact, closer to the entry point, is selectedFields inherited from interface org.apache.maven.repository.metadata.GraphConflictResolver
ROLE
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionresolveConflicts
(MetadataGraph graph, ArtifactScopeEnum scope) Cleanses the supplied graph by leaving only one directed versioned edge\ between any two nodes, if multiple exists.
-
Field Details
-
policy
@Requirement(role=GraphConflictResolutionPolicy.class) protected GraphConflictResolutionPolicy policyartifact, closer to the entry point, is selected
-
-
Constructor Details
-
DefaultGraphConflictResolver
public DefaultGraphConflictResolver()
-
-
Method Details
-
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
-