【问题标题】:Exclude a module or dir or subtask from gradle configuration and execution从 gradle 配置和执行中排除模块或目录或子任务
【发布时间】:2018-05-23 11:50:42
【问题描述】:

我有一个名为 test 的任务,代码如下:

tasks {
    "test"(Test::class) {
        useJUnitPlatform {
            excludeTags = setOf("e2e", "integration")
        }    
 }

当使用 gradle 命令 ./gradlew test --info 执行此任务时,gradle 正在扫描我项目的所有模块并生成配置,其中包含来自名为 data-export-ui-kjs 的模块的一些任务。

我希望 gradle 在配置和执行 test 任务时从 data-export-ui-kjs 模块中排除任务。我已经使用下面的代码来实现这一点,但它没有成功

 gradle.taskGraph.whenReady {
        TaskExecutionGraphListener { graph ->
                if(it.name.contains("data-export-ui-kjs")) {
                    it.enabled = false
                }
            }    
     }

请帮助我完成这项工作。提前致谢

【问题讨论】:

  • 任务名称不包含其所属模块的名称。使用任务的 path 而不是 name 应该可以工作。
  • 修改后的代码如下。但是 gradle 仍然配置和执行 data-export-ui-kjs 模块的任务: tasks { "test"(Test::class) { useJUnitPlatform { excludeTags = setOf("e2e", "integration") } gradle.taskGraph.whenReady { TaskExecutionGraphListener { graph -> graph.allTask​​s.forEach { task -> if(task.path.contains("data-export-ui-kjs")) { task.enabled = false } } } } }

标签: gradle kotlin build.gradle junit5


【解决方案1】:

按预期工作。修改了代码。它的语法问题似乎

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-23
    • 2016-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多