gradle - 是否可以跳过特定类型的所有 gradle 任务?

标签 gradle

我有一个 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 上面的任务(以及所有测试任务 - 单元、集成等)将被跳过。我可以通过在 gradlew 命令中明确提及 -xcontractTest 来跳过此任务。有没有办法跳过与某种类型关联的所有任务?

最佳答案

-x(用于--exclude-task)标志允许您按名称排除任务,而不是按类型排除任务(参见Command-Line interface)。

但是有一个更好的方法来跳过所有“测试”任务:只需使用专用的 check 生命周期任务:

  • 使 check 任务取决于您的所有自定义测试任务,

    check.dependsOncontractTest

  • 构建时排除检查:

    ./gradlew build -x check

check 任务描述如下:https://docs.gradle.org/current/userguide/java_plugin.html#lifecycle_tasks

关于gradle - 是否可以跳过特定类型的所有 gradle 任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59748418/

相关文章:

android - Firebase无法正常运行Android Studio 3.0.1 [com.android.support:support-core-utils:27.1.0]

spring-boot - AWS Postgres RDS数据库与Spring Boot的连接

android - Slidemenu获取元素onclick

java - Travis checkstyle 警告

java - 如果尝试实现接口(interface),Gradle 构建会失败

java - springboot项目部署gradle : Execution failed for task ':deploytest'

gradle - 添加项目依赖后出错

groovy - 如何通过智能IDE加载build.gradle任务并进行调试

android - 在Beta和发行版之间快速切换

android - 自定义 android gradle 插件无法加载类