Gradle root проекта зависит от сборки подпроектов - PullRequest
0 голосов
/ 05 июня 2018

Как я могу упомянуть, что подпроект должен быть собран до корневого проекта.

в settings.gradle

rootProject.name = 'loginmodule'
include 'servicebundle'
include 'webbundle'
include 'webredirectbundle'

Когда я пытаюсь это build dependson subprojects:build, это дает ошибку, как циклическую зависимость.В настоящее время в моем корневом проекте build.gradle объединяет все подпроекты, как показано ниже

task createESA(type: Zip, dependsOn: generateSubSystemFile) {
    subprojects.each { dependsOn("${it.name}:build") }
    from subprojects.collect { "${it.buildDir}/libs" }
    from (subsystemFile) {
        into 'OSGI-INF'
    }
    from ('resources/OSGI-INF') {
        into 'OSGI-INF'
    }
    baseName project.name
    extension 'esa'
}

build.finalizedBy createESA

Я использую gradle clean build для создания проекта.

Есть ли лучший способ сделать это ??Я просто хочу собрать все подпроекты перед сборкой корневого проекта.

1 Ответ

0 голосов
/ 05 июня 2018

Если ваша задача createESA зависит от subprojects*.build, будет сказано, что задача не может быть запущена, пока не будут выполнены все задачи build во всех подпроектах.Затем объявите, что задача build корневого проекта зависит от createESA.

task createESA(type: Zip, dependsOn: subprojects*.build) {
    // etc...
}

build.dependsOn createESA
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...