任务task0
依赖于由规则生成的task1
。
具有的build.gradle
project.task0.dependsOn -= task1
由于尚未生成CCD_ 4,因此失败。
使用gradle.taskGraph.whenReady
也不起作用,因为修改任务图为时已晚(尽管这可以用于禁用任务)。
如何从任务的依赖关系中删除生成的任务?
您可以使用以下方法来完成此操作:
project.gradle.projectsEvaluated {
tasks.task0.dependsOn -= "task1"
}
或:
project.gradle.projectsEvaluated {
tasks.task0.dependsOn -= tasks.task1
}
或者简单地说:
project.gradle.projectsEvaluated {
tasks.task0.dependsOn = []
}
我发现在更改之前/之后输出依赖项很有帮助,以确保它具有所需的效果:
project.gradle.projectsEvaluated {
tasks.xyz.dependsOn.forEach {
println("before: " + it + " (type " + it.getClass() + ")")
}
// modify tasks.xyz.dependsOn in some way
tasks.xyz.dependsOn.forEach {
println("after: " + it + " (type " + it.getClass() + ")")
}
}