mirror of https://github.com/sbt/sbt.git
Cleanup Resolve
This commit is contained in:
parent
ebe5540226
commit
a0e27c719c
|
|
@ -15,19 +15,19 @@ object Resolve {
|
|||
index: BuildUtil[_],
|
||||
current: ScopeAxis[Reference],
|
||||
key: AttributeKey[_],
|
||||
mask: ScopeMask
|
||||
mask: ScopeMask,
|
||||
): Scope => Scope = {
|
||||
val rs =
|
||||
resolveProject(current, mask) _ ::
|
||||
resolveExtra(mask) _ ::
|
||||
resolveTask(mask) _ ::
|
||||
resolveConfig(index, key, mask) _ ::
|
||||
Nil
|
||||
val rs = (
|
||||
resolveProject(current, mask) _
|
||||
:: resolveExtra(mask) _
|
||||
:: resolveTask(mask) _
|
||||
:: resolveConfig(index, key, mask) _
|
||||
:: Nil
|
||||
)
|
||||
scope =>
|
||||
(scope /: rs) { (s, f) =>
|
||||
f(s)
|
||||
}
|
||||
rs.foldLeft(scope)((s, f) => f(s))
|
||||
}
|
||||
|
||||
def resolveTask(mask: ScopeMask)(scope: Scope): Scope =
|
||||
if (mask.task) scope
|
||||
else scope.copy(task = Zero)
|
||||
|
|
@ -41,17 +41,16 @@ object Resolve {
|
|||
else scope.copy(extra = Zero)
|
||||
|
||||
def resolveConfig[P](index: BuildUtil[P], key: AttributeKey[_], mask: ScopeMask)(
|
||||
scope: Scope
|
||||
scope: Scope,
|
||||
): Scope =
|
||||
if (mask.config)
|
||||
scope
|
||||
else {
|
||||
val (resolvedRef, proj) = scope.project match {
|
||||
case Zero | This => (None, index.rootProject(index.root))
|
||||
case Select(ref) =>
|
||||
val r = index resolveRef ref
|
||||
(Some(r), index.projectFor(r))
|
||||
case Zero | This =>
|
||||
(None, index.rootProject(index.root))
|
||||
}
|
||||
val task = scope.task.toOption
|
||||
val keyIndex = index.keyIndex
|
||||
|
|
|
|||
Loading…
Reference in New Issue