如何在某个sbt任务中使用另一个键的值?

时间:2014-09-12 12:41:49

标签: scala sbt

说我已经定义了这样一个sbt任务:

name := "hello"

version := "1.0"

scalaVersion := "2.11.0"

val mykey = settingKey[Int]("demo key")

mykey := 100

val hello = taskKey[Unit]("demo task")

hello := {println("Hello, world" + mykey)}

我定义了mykey,其值为100,我想在另一个自定义任务hello中使用它,但是当我运行时:

$ sbt
> hello

输出:

Hello, worldsbt.SettingKey$$anon$4@66db9b08

如何获取100的值mykey

1 个答案:

答案 0 :(得分:5)

使用密钥的value宏:

hello := { println("Hello, world " + mykey.value) }

mykey类型为SettingKey[String]value - 是sbt.std.MacroValue

中定义的宏