From 3dd714b1fac3b706cc2852e18870381db6a0c58d Mon Sep 17 00:00:00 2001 From: Mark Harrah Date: Sat, 15 Jun 2013 23:55:05 -0400 Subject: [PATCH] Fully implement StaticScopes subclass of Initialize in order to support use in Task flatMap. Fixes #784. --- util/collection/src/main/scala/sbt/Settings.scala | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/util/collection/src/main/scala/sbt/Settings.scala b/util/collection/src/main/scala/sbt/Settings.scala index 569a0275c..2b040f18b 100644 --- a/util/collection/src/main/scala/sbt/Settings.scala +++ b/util/collection/src/main/scala/sbt/Settings.scala @@ -504,7 +504,15 @@ trait Init[Scope] def mapConstant(g: MapConstant) = this def evaluate(map: Settings[Scope]): T = value() } - private[sbt] final val StaticScopes: Initialize[Set[Scope]] = new Value(() => error("internal sbt error: GetScopes not substituted")) + private[sbt] final object StaticScopes extends Initialize[Set[Scope]] + { + def dependencies = Nil + def mapReferenced(g: MapScoped) = this + def validateReferenced(g: ValidateRef) = Right(this) + def apply[S](g: Set[Scope] => S) = map(this)(g) + def mapConstant(g: MapConstant) = this + def evaluate(map: Settings[Scope]) = map.scopes + } private[sbt] final class Apply[K[L[x]], T](val f: K[Id] => T, val inputs: K[Initialize], val alist: AList[K]) extends Initialize[T] { def dependencies = deps(alist.toList(inputs))