failing use case

This commit is contained in:
Mark Harrah 2012-08-20 15:55:50 -04:00
parent 90faeff546
commit 3790d6656a
1 changed files with 18 additions and 7 deletions

View File

@ -4,9 +4,8 @@ package std
object UseTask
{
import Def._
import TaskMacro.{task, taskDyn}
val set = SettingMacro setting { 23 }
val set = setting { 23 }
val plain = PlainTaskMacro task { 19 }
val x = task { set.value }
@ -19,7 +18,7 @@ object UseTask
object Assign
{
import java.io.File
import Def.macroValueT
import Def.{Initialize,macroValueT}
import UseTask.{x,y,z,a,set,plain}
val ak = TaskKey[Int]("a")
@ -27,12 +26,24 @@ object Assign
val ck = SettingKey[File]("c")
val sk = TaskKey[Set[_]]("s")
def azy = sk.value
/* def azy = sk.value
def azy2 = appmacro.Debug.checkWild(Def.task{ sk.value.size })
val settings = Seq(
ak += z.value + (if(y.value) set.value else plain.value),
bk ++= Seq(z.value),
ck := new File(ck.value, "asdf"),
ak := sk.value.size + sk.value.size
)
ak := sk.value.size,
bk ++= Seq(z.value)
)*/
def bool: Initialize[Boolean] = Def.setting { true }
def enabledOnly[T](key: Initialize[T]): Initialize[Seq[T]] = Def.setting {
val keys: Seq[T] = forallIn(key).value
val enabled: Seq[Boolean] = forallIn(bool).value
(keys zip enabled) collect { case (a, true) => a }
}
def forallIn[T](key: Initialize[T]): Initialize[Seq[T]] = Def.setting {
key.value :: Nil
}
}