diff --git a/main/settings/src/test/scala/UsageTest.scala b/main/settings/src/test/scala/UsageTest.scala index ed05480d3..06cb53c94 100644 --- a/main/settings/src/test/scala/UsageTest.scala +++ b/main/settings/src/test/scala/UsageTest.scala @@ -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 + } } \ No newline at end of file