我的任务必须按顺序调用其他任务。
val taskA = taskDef[Unit]("....")
val taskB = taskDef[Unit]("....")
val taskC = taskDef[Unit]("....")
val taskD = taskDef[Unit]("....")
taskA := {
taskB.value
taskC.value
taskD.value
}
taskB := {
...
}
taskC := {
...
}
taskD := {
...
}
结果是虽然在taskB
之前确实调用了taskC
,taskD
和taskA
,但我似乎无法找到控制其顺序的方法,即taskD
之前可以调用taskC
。
如何指定运行顺序?
答案 0 :(得分:2)
解决方案是使用与dependsOn
结合的设置的<<=
方法:
val taskA = taskDef[Unit]("....")
val taskB = taskDef[Unit]("....")
val taskC = taskDef[Unit]("....")
val taskD = taskDef[Unit]("....")
taskA := {},
taskB := {
...
},
taskC := {
...
},
taskD := {
...
},
taskA <<= taskA.dependsOn(taskD),
taskD <<= taskA.dependsOn(taskC),
taskC <<= taskA.dependsOn(taskB),