我向我的gradle项目添加了一个任务:
task deploy() {
dependsOn "build"
// excludeTask "test" <-- something like this
doFirst {
// ...
}
}
现在build
任务总是在deploy
任务之前运行,这很好,因为构建任务包含了许多步骤,现在我想显式禁用其中一个包含的任务。
通常我从命令行禁用它
gradle deploy -x test
如何以编程方式排除test
任务?
3条答案
按热度按时间col17t5w1#
您需要配置任务图而不是配置
deploy
任务本身。警告:这将跳过
test
任务定义的操作,但不会跳过test
依赖的任务。因此,这与在命令行上传递-x test
的行为不同kdfy810k2#
我不知道你的部署任务是做什么的,但是它可能不应该依赖于"构建“任务,”构建“任务是一个非常粗粒度的生命周期任务,它包含了大量你可能不想要的东西。
相反,它应该正确定义其输入(可能是您要部署的工件),然后Gradle将只运行构建这些输入所需的任务,这样您就不再需要任何排除。
vltsax253#
我也遇到过类似的问题,下面是当我运行“intTest”并希望IT单独运行时,如何阻止“test”运行:
另一种方法不依赖于显式运行的特定任务: