Добавить подпроект в проект maven для использования в jooq-codegen-maven - PullRequest
1 голос
/ 03 апреля 2020

У меня есть проект 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>
  1. Как правильно добавить мой подпроект в проект Maven? Каково точное поведение команды gradle include .

  2. Является ли текущее решение с использованием вспомогательного плагина верным? и приемлемо? потому что в моем сценарии:

Я использую генератор jooq, который должен читать параметры стратегии генератора из класса в моем подпроекте?

И если это так не правда, что такое лучшая практика?

...