Class ManagedScopeSelector
java.lang.Object
org.eclipse.aether.util.graph.transformer.ConflictResolver.ScopeSelector
org.eclipse.aether.internal.impl.scope.ManagedScopeSelector
A scope selector for use with
ConflictResolver that supports the scopes from ScopeManager.
In general, this selector picks the widest scope present among conflicting dependencies where e.g. "compile" is
wider than "runtime" which is wider than "test". If however a direct dependency is involved, its scope is selected.
This class also "bridges" between DependencyScope and Resolver that uses plain string labels for scopes.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionchooseEffectiveScope(Set<String> scopes) Visible for testing.voidDetermines the effective scope of the dependency given byConflictResolver.ConflictContext.getWinner().Methods inherited from class org.eclipse.aether.util.graph.transformer.ConflictResolver.ScopeSelector
getInstance
-
Constructor Details
-
ManagedScopeSelector
-
-
Method Details
-
selectScope
Description copied from class:ConflictResolver.ScopeSelectorDetermines the effective scope of the dependency given byConflictResolver.ConflictContext.getWinner(). Implementations will usually iterateConflictResolver.ConflictContext.getItems(), inspectConflictResolver.ConflictItem.getScopes()and eventually callConflictResolver.ConflictContext.setScope(String)to deliver the effective scope.- Specified by:
selectScopein classConflictResolver.ScopeSelector- Parameters:
context- the conflict context, must not benull
-
chooseEffectiveScope
Visible for testing. It chooses "widest" scope out of provided ones, unless system scope is present, in which case system scope is selected.
-