【问题标题】:How to disable all tasks in a Gradle group?如何禁用 Gradle 组中的所有任务?
【发布时间】:2018-11-16 00:45:28
【问题描述】:

Gradle 任务可以分组,如下所示:

task spotbugs(type: SpotBugsTask, dependsOn: "assemble", group: "verification")

但是,我还没有找到该组的任何实际用途。我希望禁用组verification 中的所有任务,这似乎是不可能的。我知道我可以使用-x 跳过特定任务,或者我可以将onlyIf 与自定义属性一起使用,或者使用enabled = false 禁用该任务;我的问题是我是否可以禁用该组?

有什么想法吗?

【问题讨论】:

    标签: java gradle groovy


    【解决方案1】:

    当您想要动态禁用任务时,您需要考虑 Gradle 确定要执行的任务,然后禁用任何符合您的条件的任务。为此,您可以使用task graph

    project.gradle.taskGraph.whenReady { graph ->
        graph.allTasks.findAll { it.group == 'verification' }.each { it.enabled = false }
    }
    

    现在,如果组 verification 中的任何任务计划执行,它们将被禁用(跳过)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-18
      • 1970-01-01
      • 1970-01-01
      • 2016-04-24
      • 2013-07-22
      • 1970-01-01
      • 2014-06-04
      • 1970-01-01
      相关资源
      最近更新 更多