У меня есть монолитный проект Gradle со слишком большим количеством зависимостей.
Я хотел бы разбить его на множество подпроектов и опубликовать все подпроекты (сборка + исходники + javadoc) + дополнительный проект, представляющий собой слияние всех подпроектов.
Этот дополнительный проект должен быть как виртуальный артефакт со всеми моими проектами в одной банке, как сегодня, потому что я не хочу слишком больших изменений для своих пользователей.
JAR не должен включать зависимости (это не uber-jar), но результирующий pom.xml должен содержать зависимости всех подпроектов (сгенерированный pom.xml артефакта maven должен содержать все зависимости).
Виртуальный артефакт будет включать в себя слияние javadoc и исходников, чтобы соблюдать соглашения Maven Central.
Текущее состояние:
- Project Main, generate
- pom.xml
- main.jar
- основные-источники.jar
- основной-javadoc.jar
Ожидаемое состояние:
- Subproject A, generate
- A-pom.xml
- А.банка
- A-sources.jar
- A-javadoc.jar
- Subproject B, generate
- B-pom.xml
- Б.банка
- B-sources.jar
- B-javadoc.jar
- virtal-Project Main, generate
- pom.xml=A-pom.xml+B-pom.xml
- main.jar=A.jar+B.jar
- main-sources.jar=A-sources.jar+B-sources.jar
- main-javadoc.jar=A-javadoc.jar+B-javadoc.jar
Как мне с этим справиться?