SBT 0.11 InputKey取决于其他任务

axe*_*l22 4 scala sbt

0.7.x我们曾经dependsOn宣称任务依赖于其他任务 - 意味着必须首先执行其他任务.

0.11.x我们使用<<=声明某个任务依赖于其他一些任务.SBT维基说了很多关于如何声明一个TaskKey[_]取决于其他任务和设置的问题(这里有一些问题可以解决这个问题),但并没有多少InputKey[_].如果我有一个声明如下的输入键:

val benchTask = InputKey[Unit](
  "bench",
  "Runs a specified benchmark."
) <<= inputTask {
  (argTask: TaskKey[Seq[String]]) =>
  argTask map {
    args =>
    // ...
  } // xxx
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能让它依赖于其他任务,例如packageBin in Test?我可以dependsOn代替xxx上面的评论,但这给了我类型错误.

谢谢.

ven*_*hka 6

将您的其他任务与argTask一起映射:

inputTask {
  (argTask: TaskKey[Seq[String]]) =>
  (argTask, packageBin in Test) map {
    (args, pb) =>
    // ...
  }
}
Run Code Online (Sandbox Code Playgroud)