mirror of https://github.com/sbt/sbt.git
failing use case
This commit is contained in:
parent
90faeff546
commit
3790d6656a
|
|
@ -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
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue