我创建的任务取决于build
。
task packageJar(dependsOn: build, type: JavaExec) {
main = 'com.xxxx.util.KiePackageCreator'
classpath = sourceSets.main.runtimeClasspath
}
但build
任务会调用checkstyle
,test
等其他任务。
如何排除它们?
我可以通过控制台-x
但是如何在任务中执行此操作?
答案 0 :(得分:5)
您可以通过在脚本根目录中将enabled
属性设置为false来简单地禁用这些任务:
test.enabled = false
但在那种情况下,这些任务永远不会运行。如果你只是需要它们在调用其他任务时不运行,那么你必须使用执行图:
gradle.taskGraph.whenReady {
taskGraph ->
if (taskGraph.hasTask(packageJar)) {
test.enabled = false
}
}
但目前还不确定,图表准备好后是否可以更改此属性。如果没有,那么你可以创建一个变量,在你要排除的任务中,添加doFirst
块,它会根据这个变量值抛出StopExecutionException
。