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

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

dependencies {
  blahblah project(":subproject1")
}

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

//and so on

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

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

谢谢。

最佳答案

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

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

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

关于java - 在解决依赖项之前运行测试,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53306738/

10-14 12:26