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[_],
|
index: BuildUtil[_],
|
||||||
current: ScopeAxis[Reference],
|
current: ScopeAxis[Reference],
|
||||||
key: AttributeKey[_],
|
key: AttributeKey[_],
|
||||||
mask: ScopeMask
|
mask: ScopeMask,
|
||||||
): Scope => Scope = {
|
): Scope => Scope = {
|
||||||
val rs =
|
val rs = (
|
||||||
resolveProject(current, mask) _ ::
|
resolveProject(current, mask) _
|
||||||
resolveExtra(mask) _ ::
|
:: resolveExtra(mask) _
|
||||||
resolveTask(mask) _ ::
|
:: resolveTask(mask) _
|
||||||
resolveConfig(index, key, mask) _ ::
|
:: resolveConfig(index, key, mask) _
|
||||||
Nil
|
:: Nil
|
||||||
|
)
|
||||||
scope =>
|
scope =>
|
||||||
(scope /: rs) { (s, f) =>
|
rs.foldLeft(scope)((s, f) => f(s))
|
||||||
f(s)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
def resolveTask(mask: ScopeMask)(scope: Scope): Scope =
|
def resolveTask(mask: ScopeMask)(scope: Scope): Scope =
|
||||||
if (mask.task) scope
|
if (mask.task) scope
|
||||||
else scope.copy(task = Zero)
|
else scope.copy(task = Zero)
|
||||||
|
|
@ -41,17 +41,16 @@ object Resolve {
|
||||||
else scope.copy(extra = Zero)
|
else scope.copy(extra = Zero)
|
||||||
|
|
||||||
def resolveConfig[P](index: BuildUtil[P], key: AttributeKey[_], mask: ScopeMask)(
|
def resolveConfig[P](index: BuildUtil[P], key: AttributeKey[_], mask: ScopeMask)(
|
||||||
scope: Scope
|
scope: Scope,
|
||||||
): Scope =
|
): Scope =
|
||||||
if (mask.config)
|
if (mask.config)
|
||||||
scope
|
scope
|
||||||
else {
|
else {
|
||||||
val (resolvedRef, proj) = scope.project match {
|
val (resolvedRef, proj) = scope.project match {
|
||||||
|
case Zero | This => (None, index.rootProject(index.root))
|
||||||
case Select(ref) =>
|
case Select(ref) =>
|
||||||
val r = index resolveRef ref
|
val r = index resolveRef ref
|
||||||
(Some(r), index.projectFor(r))
|
(Some(r), index.projectFor(r))
|
||||||
case Zero | This =>
|
|
||||||
(None, index.rootProject(index.root))
|
|
||||||
}
|
}
|
||||||
val task = scope.task.toOption
|
val task = scope.task.toOption
|
||||||
val keyIndex = index.keyIndex
|
val keyIndex = index.keyIndex
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue