在 sbt 0.12 中,您可以指定一个任务依赖于另一个任务,而无需实际使用输入任务的输出。因此,您纯粹是在指定任务的顺序:
unitTask <<= Seq(stringTask, sampleTask).dependOn
sbt 0.13 的任务文档中没有这样的示例。指定所述依赖项的新语法是什么?
在 sbt 0.12 中,您可以指定一个任务依赖于另一个任务,而无需实际使用输入任务的输出。因此,您纯粹是在指定任务的顺序:
unitTask <<= Seq(stringTask, sampleTask).dependOn
sbt 0.13 的任务文档中没有这样的示例。指定所述依赖项的新语法是什么?
使用标准语法,但忽略所用任务的结果:
unitTask := {
val x = stringTask.value
val y = sampleTask.value
()
}
由于scalac 中的错误,您必须使用虚拟名称,否则您可以只使用val _ = ...
.
另外,我更喜欢上面更明确的方式,但它相当于这个较短的版本,因为不使用结果:
unitTask := {
stringTask.value
sampleTask.value
}
就像你在 0.12 中所做的那样
lazy val taskA= taskKey[Unit]("Prints 'Hello World'")
lazy val taskB= taskKey[Unit]("Prints 'Good by World'")
taskA := println("hello world!")
taskB := println("good by world!")
taskB <<= taskB.dependsOn(taskA)
由于 <<= 现在已弃用,请参阅上面的答案。