Лучший способ управлять мультимодульным проектом Maven - PullRequest
1 голос
/ 05 ноября 2019

Я хочу убрать помпы в моем проекте, над которым я сейчас работаю. Poms im мое мнение было написано человеком, который действительно не знал, что он делал.

Это многомодульный проект, и дерево модулей довольно большое и сложное. Возможно, это не лучшее представление структуры, но выглядит это примерно так:

  • root /
  • pom.xml
  • commons /
    • parent /
      • pom.xml
    • сущностей /
      • pom.xml
  • root-child-1 /
    • pom.xml
    • child-1_1 /
      • pom.xml
    • child-1_2 /
      • pom.xml
  • root-child-2 /
  • pom.xml
  • child-2_1 /
    • pom.xml
  • child-2_2 /
    • pom.xml

Хорошо, поэтому root / pom.xml определяет все корневые модули в проекте:

  • root / commons / parent
  • root / commons / entity
  • root / root-child-1
  • root / root-child-2

root / commons / parent / pom. xml является родительским для всех root-child и сущностей, и этот pom также определяет свойства для версий модулей like:

  • &ltroot.root-child.1.version&gt1.1&lt/root.root-child.1&gt
    Эти свойства используются в poms модулей для определения версии артефакта и родительской версии.

Более того, модули имеют зависимости друг от друга.

Когда мы что-то изменяем в коде, мы вручную увеличиваем версию модуля, где были внесены изменения, и он работает.

В настоящее время я настраиваю gitlab-ci для сборки и упаковки выпусков этого приложения, и я хочу автоматизировать какНасколько я могу.

Цель состоит в том, чтобы иметь возможность создавать конвейер, который обнаруживает изменения в модуле, увеличивает его версию и обновляет зависимости в других модулях.

Я думаю, что для того, чтобы выполнить вышеизложенное, первым делом нужно изменить конфигурацию пом, но я не знаю, в каком направлении мне идти. До меня два человека пытались решить эту проблему, но сдались, и сейчас.

Может ли кто-нибудь дать мне несколько указаний или рекомендации по решению моей проблемы?

...