Как разделить git-репо и применить подмодули Maven и родительский Maven? - PullRequest
0 голосов
/ 24 ноября 2018

Мне нужны советы о том, как настроить несколько репозиториев таким образом, чтобы они совместно использовали родителя Maven, а также были настроены как подмодули в корневом проекте Maven.

Я поддерживаю проект с открытым исходным кодом Простая JavaMail и, поскольку есть дополнительные функции, которые становятся все больше и больше, я планирую разделить проект на подмодули, каждый в своем собственном репозитории GIT.

  1. Моя первая задача -что должна быть общая родительская конфигурация Maven , которая обрабатывает все настройки по умолчанию для тестирования и сборки, а также тестовые и служебные зависимости по умолчанию.Это еще один репо, о котором я могу подумать.
  2. Далее, чтобы легко собрать и выпустить все вместе с одинаковыми номерами версий, я подумал, что установка субмодулей Maven будет полезной.Как я могу настроить это в репозитории GIT?Моей первой мыслью было бы другое хранилище для основного / корневого проекта Maven, которое определяет подмодули, а затем извлекало это и все другие хранилища в той же папке, и основной проект Maven находил проекты модулей с ..\submodule-xyz относительными папками.

Ранее я настраивал аналогичную настройку, но все это было в одном репозитории (в старые добрые времена Subversion).Кто-нибудь может посоветовать, пожалуйста, как лучше всего подойти к разделенным репо?Желательно, чтобы у меня был один репо для родительского и основного / корневого (это часто?).Желательно ли комбинировать с подмодулями git?

1 Ответ

0 голосов
/ 24 ноября 2018

Термин модуль здесь немного перегружен.

Да, вы можете определить в одном репо родительский pom, объявив многомодульный проект maven , каждый модуль ссылается на подпапку.

Эти подпапки могут быть созданы с помощью команды git submodule add, ссылающейся на каждый удаленный репозиторий, в котором подпроект является версионным.
Подпапки относятся к корневой папке родительского каталога, но не должныneed ../.

Каждый репозиторий подмодулей может иметь свой собственный pom.xml, который будет ссылаться на основной проектный помп как родительский.

...