在.sbt文件中添加任务依赖项

时间:2012-04-05 05:41:33

标签: scala build dependencies sbt

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

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

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

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

2 个答案:

答案 0 :(得分: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)

答案 1 :(得分:0)

val aaa = TaskKey[Unit]("aaa", "First")
val bbb = TaskKey[Unit]("bbb", "Second")

bbb := { println("bbb") }
aaa := bbb map { _ => println("aaa") }