Можно ли пропустить все задачи gradle с определенным типом? - PullRequest
0 голосов
/ 15 января 2020

У меня есть задание проверки gradle, которое настроено следующим образом -

sourceSets {
    contractTest {
        compileClasspath += sourceSets.main.output
        runtimeClasspath += sourceSets.main.output
    }
}

configurations {
    contractTestImplementation.extendsFrom implementation
    contractTestRuntimeOnly.extendsFrom runtimeOnly
}

task contractTest(type: Test) {
    description = 'Runs contract tests.'
    group = 'verification'

    testClassesDirs = sourceSets.contractTest.output.classesDirs
    classpath = sourceSets.contractTest.runtimeClasspath
}

Я надеялся, что после выполнения такой команды - ./gradlew build -x test над задачей (вместе со всеми задачами тестирования - блок, интеграция et c.) будет пропущено. Я могу пропустить эту задачу, явно упомянув -x contractTest в команде gradlew. Есть ли способ пропустить все задачи, связанные с каким-либо типом?

1 Ответ

1 голос
/ 15 января 2020

Флаг -x (для --exclude-task) позволяет исключать задачи по имени , а не по типу (см. Интерфейс командной строки ) .

Но есть и лучший способ пропустить все задачи «тестирования»: просто используйте выделенную задачу жизненного цикла check:

  • сделать задачу check зависимой от все ваши пользовательские задачи тестирования,

    check.dependsOn contractTest

  • исключить check при сборке:

    ./gradlew build -x check

check здесь описана задача: https://docs.gradle.org/current/userguide/java_plugin.html#lifecycle_tasks

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...