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
-
Method Summary
Modifier and TypeMethodDescriptionchooseEffectiveScope
(Set<String> scopes) Visible for testing.void
Determines 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.ScopeSelector
Determines 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:
selectScope
in 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.
-