Как освободить модуль Maven независимо от других модулей?
У меня есть веб-приложение Java (GLF), которое имеет следующую структуру
GLFBuilder (multimodule)
- GLFCoreBuilder (multimodule)
- GLFCore (depends on other core/library projects)
- GLFDataModel
- GLFWebBuilder (multimodule)
- GLFFrontEnd
- GLFFrontEndWeb
- GLFIntegration (to create app war)
Все проекты субмодулей, перечисленные выше, на данный момент имеют одного и того же родителя (например, GLFFrontEnd
это ребенок GLFWebBuilder
, GLFCore
это ребенок GLFBuilder
...) чтобы иметь возможность поделиться общей конфигурацией / зависимостями.
Я тоже настроил dependencyManagement
включить все подмодули с соответствующими свойствами, определенными так, чтобы мне не нужно было указывать version
Где-нибудь в подмодулях взаимозависимости.
Я должен упомянуть, что все модули (многомодульные и субмодули) в настоящее время используют одну и ту же версию SNAPSHOT, и (вздох) моя компания по-прежнему выпускает приложение, используя версии SNAPSHOT, чтобы избежать работы с номерами версий, но среди всех проблем, которые это приносит, также значительно увеличивает время сборки в нашей среде CI.
Я хотел бы иметь возможность выпустить стабильную версию (без SNAPSHOT) одного из модулей независимо от других.
Это звучит логично, учитывая, что я могу что-то изменить в GLFFrontEnd
который не имеет ничего общего с моими основными библиотеками.
Я знаю, что когда есть отношения родитель-ребенок, дети не могут быть освобождены как стабильные (без SNAPSHOT) без освобождения родителя, что имеет "цепной эффект" в иерархии проектов.
Подходит ли плагин Maven Release для этого сценария?
Спасибо