3

在我的 build.sbt 文件中,我有两个自定义任务:

TaskKey[Unit]("aaa") := {
  println("aaa")
} 

TaskKey[Unit]("bbb") := {
  println("bbb")
}

如何在它们之间添加依赖关系?例如,我想aaa依赖bbb.

4

2 回答 2

2

来自https://github.com/harrah/xsbt/wiki/Tasks

要依赖某些任务的副作用而不使用它们的值并且不做额外的工作,请对一系列任务使用dependOn。定义任务键(<<= 左侧的部分)必须是 Unit 类型,因为没有返回值。

unitTask <<= Seq(stringTask, sampleTask).dependOn

要在不使用其值的情况下将依赖项添加到现有任务,请在任务上调用 dependsOn 并提供要依赖的任务。例如,这里的第二个任务定义修改了原来的要求 string-task 和 sample-task 首先运行:

intTask := 4

intTask <<= intTask.dependsOn(stringTask, sampleTask)
于 2012-04-05T05:48:59.403 回答
0
val aaa = TaskKey[Unit]("aaa", "First")
val bbb = TaskKey[Unit]("bbb", "Second")

bbb := { println("bbb") }
aaa := bbb map { _ => println("aaa") }
于 2012-04-05T05:49:49.717 回答