gradle自定义任务,它依赖于构建任务而无需测试

时间:2020-02-28 23:41:31

标签: gradle build.gradle

我正在使用gradle 6.0.1

我正在尝试写我的on任务,但我想先执行build任务,但不进行测试。

我尝试过(来自build.gradle):

task startEnv(type: GradleBuild) {
    tasks = ['build']
    doLast {
        // START ENV CODE
    }
}

但是,我无法像我将要运行的那样设法找到一种无需运行测试即可调用构建的方法

渐变构建-x测试

是否可以实现此功能?

我可以使用的另一个选项是检查我的startEnv任务内部是否已经存在内部版本,并且仅在内部版本存在时才运行此任务-是否可以查询内部版本是否存在? (这是一个多模块项目,因此我不确定检查根项目上是否存在构建目录就足够了。)

我遵循了评论并尝试了mapfile

中提到的解决方案

我添加到build.gradle:

gradle.taskGraph.whenReady { graph ->
    if (graph.hasTask(startEnv)) {
        println("DEBUG1")
        test.enabled = false
    }
}

task startEnv(type: GradleBuild) {
    tasks = ['build']
    doLast {
       // START ENV CODE
    }
}

但是当我运行./gradlew startEnv时,它仍然无法通过一些测试,在当前阶段我知道它们应该会失败。 执行此命令时,我可以看到DEBUG1打印,但是由于测试失败,构建失败。

谢谢

0 个答案:

没有答案
相关问题