Запускать тесты до разрешения зависимостей - PullRequest
0 голосов
/ 14 ноября 2018

У меня есть проект корневого уровня, который содержит ~ 100 подпроектов. Основная цель корневого проекта - собрать все созданные jar-файлы в установщик.

В основной проект я включаю подпроект в качестве зависимости, а затем выполняю компиляцию установщика следующим образом:

dependencies {
  blahblah project(":subproject1")
}

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

//and so on

Я понимаю, что артефакт jar создается задачей jar, и эта задача не зависит от задачи test. И я вижу ситуацию, когда Gradle сначала производит установщик (который занимает много времени), а затем запускает тесты. Это не очень приемлемо для меня, потому что я должен получить неудачу как можно скорее, чтобы не тратить время.

Могу я как-нибудь решить эту ситуацию?

Спасибо.

1 Ответ

0 голосов
/ 14 ноября 2018

Одним из решений было бы создание ограничения mustRunAfter для задачи buildInstaller, чтобы гарантировать его выполнение после всех подпроектов check задач:

В подпрограмме установки подпроект build.gradle:

gradle.projectsEvaluated {
    rootProject.subprojects.each { Project subproj ->
        if (subproj.name != project.name) {
            buildInstaller.mustRunAfter subproj.getTasks().getByName('check')
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...