Как я могу не включать задачу сборки, когда я включаю проект в свой файл settings.gradle?
Мой файл 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, и в нем есть общие папки и 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 только для компиляцииJava, но это не сработало, у кого-нибудь еще есть идеи?
Ответы
Ответ 1
Ну, этот вопрос задавался по-разному, основная тема вопроса:
Как исключить подзадачи задачи сборки?
1. gradle build -x test
Вышеприведенная инструкция полезна при выполнении команды gradle build из CLI; это исключает тестовую задачу, но мы хотим исключить тестовую задачу программным способом в файле build.gradle. Посмотрите ниже ответ на соответствующий вопрос.
2. check.dependsOn - = test
Скопируйте этот небольшой script в файл build.gradle.
Теперь, когда вы выполняете gradle build из CLI, ваши тесты не будут выполняться вообще.
Приветствия!
Ответ 2
Вы можете попытаться отключить задачу только при наличии задачи сборки... Что-то вроде:
project(":serverTest").test.onlyIf { !gradle.taskGraph.hasTask(":shared:build") }