在解决依赖项之前运行测试

时间:2018-11-14 18:36:30

标签: java gradle build.gradle

我有一个根级项目,其中包含约100个子项目。根项目的主要目标是将所有产生的jar收集到安装程序中。

在主项目中,我将子项目作为依赖项包含在内,然后像这样进行安装程序编译:

dependencies {
  blahblah project(":subproject1")
}

task blah(type: Copy) {
  from(configurations.blahblah)
  into 'qwe'
}

//and so on

我了解jar工件是由jar任务产生的,并且此任务不依赖于test任务。我看到了Gradle首先生产安装程序(这很耗时)然后才运行测试的情况。这对我来说不是很可接受,因为我需要尽快失败以免浪费时间。

我能以某种方式解决这种情况吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

一种解决方案是在mustRunAfter任务上创建buildInstaller约束,以确保它将在所有子项目check任务之后运行:

安装程序子项目build.gradle中:

gradle.projectsEvaluated {
    rootProject.subprojects.each { Project subproj ->
        if (subproj.name != project.name) {
            buildInstaller.mustRunAfter subproj.getTasks().getByName('check')
        }
    }
}