Чтобы не управлять файлами конфигурации сборки 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 выяснить, что такое модули?Или есть способ программно определить и добавить подпроекты в виде модулей?Кроме того, нужно ли иметь две разные задачи?