在0.7.x
中,我们使用dependsOn
来声明任务依赖于其他任务 - 这意味着必须先执行其他任务。
在0.11.x
中,我们使用<<=
来声明任务取决于其他任务。 SBT wiki在很多方面说明了如何声明TaskKey[_]
,这取决于其他任务和设置(这里有一些问题涉及that),但InputKey[_]
上的问题并不多。如果我有一个声明如下的输入键:
val benchTask = InputKey[Unit](
"bench",
"Runs a specified benchmark."
) <<= inputTask {
(argTask: TaskKey[Seq[String]]) =>
argTask map {
args =>
// ...
} // xxx
}
如何让它依赖于其他任务,例如packageBin in Test
?我可以将dependsOn
代替上面的xxx
评论,但这会给我类型错误。
谢谢。
答案 0 :(得分:6)
将您的其他任务与argTask一起映射:
inputTask {
(argTask: TaskKey[Seq[String]]) =>
(argTask, packageBin in Test) map {
(args, pb) =>
// ...
}
}