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

lap*_*ots 4 gradle

我创造了依赖于的任务build.

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

build任务调用其他任务,如checkstyle,test等等.如何排除它们?

我可以通过控制台完成它,-x但如何在任务内完成?

Sta*_*lav 7

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

test.enabled = false
Run Code Online (Sandbox Code Playgroud)

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

gradle.taskGraph.whenReady {
    taskGraph ->
        if (taskGraph.hasTask(packageJar)) {
            test.enabled = false
        }
}
Run Code Online (Sandbox Code Playgroud)

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