Как создать Maven POM для многомодульных сборок с Gradle? - PullRequest
0 голосов
/ 30 ноября 2018

Чтобы не управлять файлами конфигурации сборки Maven и Gradle вручную, я хотел позволить Gradle генерировать POM Maven для многомодульной сборки.

Пока это работает.Ниже вы найдете settings.gradle

rootProject.name = 'parent'
include 'module-a'  
include 'module-b'

и далее: build.gradle

allprojects  {
    apply plugin: 'maven'

    group = 'com.example.project'
    version = '1.0-SNAPSHOT'
}

subprojects {
    apply plugin: 'java'

    sourceCompatibility = 1.8
    targetCompatibility = 1.8

    repositories {
        mavenCentral()
    }

    task createPom << {
        pom {
            project {
                parent {
                    groupId project.group
                    artifactId rootProject.name
                    version project.version
                }
            }
        }.writeTo("pom.xml")
    }
}

task createPom << {
    pom {
        project {
            packaging 'pom'
            modules {
                module 'module-a'
                module 'modula-b'
            }
        }
    }.writeTo("pom.xml")
}

Проблема заключается в том, что я должен вручную объявить модули в задаче createPomкорневой проект.Кроме того, мне нужны две специальные задачи;один для корневого проекта и для подпроектов.

Как я могу позволить Gradle выяснить, что такое модули?Или есть способ программно определить и добавить подпроекты в виде модулей?Кроме того, нужно ли иметь две разные задачи?

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