我的settings.gradle
文件如下:
include "serverTest", "shared"
serverTest build.gradle
文件如下所示:
group = 'gradle'
version = '1.0'
defaultTasks 'build'
apply plugin: 'java'
apply plugin: 'eclipse'
sourceCompatibility = JavaVersion.VERSION_1_6
dependencies
{
compile project(':shared')
}
目录结构是:顶层包含settings.gradle文件,其中包含文件夹shared和serverTest。然后在serverTest目录中有build.gradle文件。
当我在顶层运行gradle时,它会输出:
:shared:compileJava UP-TO-DATE
:shared:processResources UP-TO-DATE
:shared:classes UP-TO-DATE
:shared:jar UP-TO-DATE
:serverTest:compileJava UP-TO-DATE
:serverTest:processResources UP-TO-DATE
:serverTest:classes UP-TO-DATE
:serverTest:jar UP-TO-DATE
:serverTest:assemble UP-TO-DATE
:serverTest:compileTestJava
:serverTest:processTestResources UP-TO-DATE
:serverTest:testClasses
:serverTest:test
我不希望它执行任务:serverTest:test
。我尝试将defaultTasks更改为只是compileJava但是没有用,其他人有什么想法吗?
答案 0 :(得分:5)
这个问题已经以不同的方式提出,问题的主题是:
如何排除构建任务的子任务?
1。 gradle build -x test
从CLI执行gradle build命令时,上述说明很有用;这不包括测试任务,但我们希望在build.gradle文件中以编程方式排除测试任务。请查看相应问题的答案。
2。 check.dependsOn - = test
将此小脚本复制到build.gradle文件中。 现在,当您从CLI执行 gradle build 时,您的测试根本无法运行。
干杯!
答案 1 :(得分:2)
您可以尝试仅在存在构建任务时禁用该任务...类似于:
project(":serverTest").test.onlyIf { !gradle.taskGraph.hasTask(":shared:build") }