Scala sbt如何准确计算任务名称?

Scala sbt如何准确计算任务名称?,scala,sbt,Scala,Sbt,假设在build.sbt val printMessage = taskKey[Unit]("Simple task") printMessage := { println("Hello") } sbt如何确定此任务称为printMessage,并在没有包含该文本的字符串时使其在CLI中可用?如果代码类似于val printMessage=taskKey[Unit](“printMessage”,“description”),我会理解,但这确实让我感到困惑SBT有一个,SBT.std

假设在
build.sbt

val printMessage = taskKey[Unit]("Simple task")

printMessage := {
    println("Hello")
}
sbt如何确定此任务称为
printMessage
,并在没有包含该文本的字符串时使其在CLI中可用?如果代码类似于
val printMessage=taskKey[Unit](“printMessage”,“description”)
,我会理解,但这确实让我感到困惑SBT有一个,
SBT.std.keymocro.taskKeyImpl
,它接受一个
字符串
描述,并从定义val的名称推断出任务名称

此宏将在sbt程序包对象中执行
taskKey[T]

因此,当您调用
taskKey[Unit](“SimpleTask”)
时,它将扩展为一个宏,用于查找val
printMessage
,并使用该宏推断任务键的名称