Gradle 运行其他任务时跳过任务
我在gradle项目中添加了一项任务:Gradle 运行其他任务时跳过任务,gradle,skip,Gradle,Skip,我在gradle项目中添加了一项任务: task deploy() { dependsOn "build" // excludeTask "test" <-- something like this doFirst { // ... } } 如何以编程方式排除测试任务?您需要配置任务图,而不是配置部署任务本身。以下是您需要的一段代码: gradle.taskGraph.whenReady { graph -> if (gra
task deploy() {
dependsOn "build"
// excludeTask "test" <-- something like this
doFirst {
// ...
}
}
如何以编程方式排除
测试
任务?您需要配置任务图,而不是配置部署
任务本身。以下是您需要的一段代码:
gradle.taskGraph.whenReady { graph ->
if (graph.hasTask(deploy)) {
test.enabled = false
}
}
警告:这将跳过
测试
任务定义的操作,不会跳过测试
所依赖的任务。因此,这与通过命令行上的-x测试
的行为不同我不知道部署任务做什么,但它可能不应该依赖于“构建”任务。“构建”任务是一个非常粗粒度的生命周期任务,其中包含大量您可能不想要的内容
相反,它应该正确定义其输入(可能是您想要部署的工件),然后Gradle将只运行必要的任务来构建这些输入。那你就不需要任何排除了。嗨,我知道这在很久以前就得到了回答,但我现在正在尝试,使用gradle 6.0.1,我无法让它正常工作。我的情况有点不同,你能检查一下吗?谢谢注意,这仍然会执行声明为依赖的任务。因此,这与在命令行上通过
-x测试不同。我还没有找到跳过一个任务及其所有“依赖项”的方法,我很想知道一个
gradle.taskGraph.whenReady { graph ->
if (graph.hasTask(deploy)) {
test.enabled = false
}
}