任务task0依赖于由规则生成的task1。一个build.gradle,带有:
task0
task1
build.gradle
project.task0.dependsOn -= task1
失败,因为尚未生成task1。使用gradle.taskGraph.whenReady也不起作用,因为修改任务图已经太晚了(尽管这可以用来禁用任务)。如何从任务的相关性中删除生成的任务?
gradle.taskGraph.whenReady
bt1cpqcv1#
你也许可以这样做:
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() + ")") } }
1条答案
按热度按时间bt1cpqcv1#
你也许可以这样做:
或:
或者简单地说:
我发现在更改之前/之后输出依赖项很有帮助,可以确保它达到预期的效果: