Сложная многопроектная сборка Gradle для данной структуры - PullRequest
0 голосов
/ 28 апреля 2020

Мне нужно настроить мультипроект Gradle java сборка с фиксированной папкой сборки.

Структура должна быть такой:

--projectRoot/
----build/ (shared for both subprojects)
----javaApp1/
----javaApp2/

После сборки должно быть два сценарии оболочки для запуска приложений:

--projectRoot/
----build/
------javaApp1
------javaApp2
------libs/
--------javaApp1.jar
--------javaApp2.jar

пока мои настройки. gradle находится в проекте Root:

rootProject.name = 'com.example.project'

include 'javaApp1'
include 'javaApp2'

и build.gradle в проекте Root :

allprojects {
    repositories {
        jcenter()
    }

    buildDir = new File(projectDir, "../build")
}

subprojects {
    group 'com.example.project'

    apply plugin: 'java'
    apply plugin: 'application'

    dependencies {
        testImplementation 'junit:junit:4.12'
    }
}

с этим я уже могу собрать из проекта Root и с помощью gradle installDist я получаю требуемые сценарии оболочки в projectRoot/build/install/javaApp1/bin/javaApp1, но не в папке сборки напрямую.

Итак, резюмируем: сценарии оболочки должны заканчиваться на projectRoot/build.

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