从我的任务所依赖的任务中排除任务

时间:2015-11-25 06:37:24

标签: gradle

我创建的任务取决于build

task packageJar(dependsOn: build, type: JavaExec) {
    main = 'com.xxxx.util.KiePackageCreator'
    classpath = sourceSets.main.runtimeClasspath
}

build任务会调用checkstyletest等其他任务。 如何排除它们?

我可以通过控制台-x但是如何在任务中执行此操作?

1 个答案:

答案 0 :(得分:5)

您可以通过在脚本根目录中将enabled属性设置为false来简单地禁用这些任务:

test.enabled = false

但在那种情况下,这些任务永远不会运行。如果你只是需要它们在调用其他任务时不运行,那么你必须使用执行图:

gradle.taskGraph.whenReady {
    taskGraph ->
        if (taskGraph.hasTask(packageJar)) {
            test.enabled = false
        }
}

但目前还不确定,图表准备好后是否可以更改此属性。如果没有,那么你可以创建一个变量,在你要排除的任务中,添加doFirst块,它会根据这个变量值抛出StopExecutionException