Class NearestVersionSelector
- java.lang.Object
-
- org.eclipse.aether.util.graph.transformer.ConflictResolver.VersionSelector
-
- org.eclipse.aether.util.graph.transformer.NearestVersionSelector
-
public final class NearestVersionSelector extends ConflictResolver.VersionSelector
A version selector for use withConflictResolverthat resolves version conflicts using a nearest-wins strategy. If there is no single node that satisfies all encountered version ranges, the selector will fail.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static classNearestVersionSelector.ConflictGroup
-
Constructor Summary
Constructors Constructor Description NearestVersionSelector()Creates a new instance of this version selector.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidbacktrack(NearestVersionSelector.ConflictGroup group, ConflictResolver.ConflictContext context)private booleanisAcceptable(NearestVersionSelector.ConflictGroup group, Version version)private booleanisNearer(ConflictResolver.ConflictItem item1, ConflictResolver.ConflictItem item2)private UnsolvableVersionConflictExceptionnewFailure(ConflictResolver.ConflictContext context)voidselectVersion(ConflictResolver.ConflictContext context)Determines the winning node among conflicting dependencies.-
Methods inherited from class org.eclipse.aether.util.graph.transformer.ConflictResolver.VersionSelector
getInstance
-
-
-
-
Method Detail
-
selectVersion
public void selectVersion(ConflictResolver.ConflictContext context) throws RepositoryException
Description copied from class:ConflictResolver.VersionSelectorDetermines the winning node among conflicting dependencies. Implementations will usually iterateConflictResolver.ConflictContext.getItems(), inspectConflictResolver.ConflictItem.getNode()and eventually callConflictResolver.ConflictContext.setWinner(ConflictResolver.ConflictItem)to deliver the winner. Failure to select a winner will automatically fail the entire conflict resolution.- Specified by:
selectVersionin classConflictResolver.VersionSelector- Parameters:
context- The conflict context, must not benull.- Throws:
RepositoryException- If the version selection failed.
-
backtrack
private void backtrack(NearestVersionSelector.ConflictGroup group, ConflictResolver.ConflictContext context) throws UnsolvableVersionConflictException
-
isAcceptable
private boolean isAcceptable(NearestVersionSelector.ConflictGroup group, Version version)
-
isNearer
private boolean isNearer(ConflictResolver.ConflictItem item1, ConflictResolver.ConflictItem item2)
-
newFailure
private UnsolvableVersionConflictException newFailure(ConflictResolver.ConflictContext context)
-
-