mirror of https://github.com/sbt/sbt.git
38 lines
753 B
Scala
38 lines
753 B
Scala
|
|
package sbt
|
||
|
|
package std
|
||
|
|
|
||
|
|
object UseTask
|
||
|
|
{
|
||
|
|
import Def._
|
||
|
|
import TaskMacro.{task, taskDyn}
|
||
|
|
|
||
|
|
val set = SettingMacro setting { 23 }
|
||
|
|
val plain = PlainTaskMacro task { 19 }
|
||
|
|
|
||
|
|
val x = task { set.value }
|
||
|
|
val y = task { true }
|
||
|
|
val z = task { if(y.value) x.value else plain.value }
|
||
|
|
val a = taskDyn {
|
||
|
|
if(y.value) z else x
|
||
|
|
}
|
||
|
|
}
|
||
|
|
object Assign
|
||
|
|
{
|
||
|
|
import java.io.File
|
||
|
|
import Def.macroValueT
|
||
|
|
import UseTask.{x,y,z,a,set,plain}
|
||
|
|
|
||
|
|
val ak = TaskKey[Int]("a")
|
||
|
|
val bk = TaskKey[Seq[Int]]("b")
|
||
|
|
val ck = SettingKey[File]("c")
|
||
|
|
val sk = TaskKey[Set[_]]("s")
|
||
|
|
|
||
|
|
def azy = sk.value
|
||
|
|
|
||
|
|
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
|
||
|
|
)
|
||
|
|
}
|