У меня есть проект Gradle, у которого есть подпроект с именем генератора. Подпроект добавлен в мой основной проект в файле gradle.setting:
include 'generator'
В моем подпроекте есть файл build.gradle, который определен как:
apply plugin: 'java'
dependencies {
compile("org.jooq:jooq-codegen:${gradle.ext.jooqVersion}")
compile "srvg.libs:jooq_utils:1908-VBI-580.1.+"
}
sourceSets {
main {
java {
srcDirs = ['src/main/java']
}
}
}
Как вы можете увидеть, что нет имени или версии артефакта проекта или et c. Только что определили зависимости.
Теперь по какой-то причине мне приходится конвертировать этот проект в мавенскую природу. Я создаю pom для своего основного проекта, но как насчет этого подпроекта?
Я знаю, что могу добавить его в качестве модуля в свой основной проект, но он не работает для меня, потому что мои основные проекты упаковывают Jar и должен остаться как есть. но чтобы иметь модуль для проекта, это должен быть пакет Pom.
В данный момент я добавил свой подпроект к ресурсам через вспомогательный плагин:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>3.1.0</version>
<executions>
<execution>
<id>add-source</id>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>generator/src/main/java/</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
Как правильно добавить мой подпроект в проект Maven? Каково точное поведение команды gradle include .
Является ли текущее решение с использованием вспомогательного плагина верным? и приемлемо? потому что в моем сценарии:
Я использую генератор jooq, который должен читать параметры стратегии генератора из класса в моем подпроекте?
И если это так не правда, что такое лучшая практика?