我们在构建生命周期任务时应该运行一切来快速检查代码。它看起来像这样:
task minimalBuild(dependsOn: [jar, testJar, javadoc])
有人说它也应该运行检查,这似乎是合理的,除非我依赖check
本身,check
取决于test
,所以所有的测试都会运行而且它是不再是快速构建。
我当然可以手动列出单独的检查,这是我现在最好的想法,但每次有人安装新的检查工具时,他们都必须更新此列表,他们可能不知道他们必须这样做。 / p>
至少有一种方法可以以编程方式执行此操作吗?我可以minimalBuild
取决于“除check
以外的所有test
所依赖的内容吗?”
答案 0 :(得分:2)
您可以通过taskGraph
进行配置,如下所示:
gradle.taskGraph.whenReady { graph ->
if (graph.hasTask(minimalBuild)) {
tasks.withType(Test){
enabled = false
}
}
}
此配置应添加到脚本的根目录中。它等待,直到执行图已准备好(它包含所有应该真正执行的任务),之后它检查,是否将执行minimalBuild
任务,如果是,则它将禁用所有测试类型的任务