Настройка выпуска Maven с тегами svn для каждого модуля

Цель

Мультимодульный выпуск maven с тегами для каждого модуля

Ситуация

Предположим, что структура проекта Java на основе Maven имеет следующую структуру:

xx-parent
xx-moduleA
xx-moduleB
xx-moduleC/submodule1
xx-moduleC/submodule2
xx-moduleC/submodule3

Структура проекта в Subversion следующая :

xx-parent/trunk
xx-moduleA/trunk
xx-moduleB/trunk
xx-moduleC/trunk/submodule1
xx-moduleC/trunk/submodule2
xx-moduleC/trunk/submodule3

Моя цель - создать теги для каждого модуля при выполнении релиза:

xx-parent/tags/xx-parent-1.0
xx-moduleA/tags/xx-moduleA-1.0
xx-moduleB/tags/xx-moduleB-1.0
xx-moduleC/tags/xx-moduleC-1.0

Раньше каждый модуль создавался и выпускался отдельно. По мере роста проекта (30 модулей) время сборки релиза увеличивалось. Я хотел бы изменить проект на многомодульный, чтобы выполнить сборку и выпуск реактора. Сборка не кажется проблемой, но создание тегов для каждого модуля - проблема.

maven-release-plugin, похоже, настаивает на создании только одного тега для всего проекта / выпуска. Я ищу способ создать несколько тегов, например тег на модуль.

То, что я пробовал до сих пор

  • Создание псевдонима xx-all Subversion, который проверяет все подмодули, поэтому я могу ссылаться на них с помощью ../xx-moduleB
  • Включение commitByProject , при котором фиксируется каждый модуль, но не тег для модуля. См.
  • Каждый модуль имеет свои собственные элементы в pom.xml , но они не используются при выполнении сброса реактора.
  • mvn --batch- mode -DcommitPerProject = true -DautoVersionSubmodules = true -Drelease.version = 1.0.6 release: подготовить выпуск: выполнить

Проблемы

  • maven-release-plugin не создает тег svn для каждого модуля
  • maven-release- плагин перезаписывает тег недопустимыми URL-адресами, например, вложенным «стволом» -tags под тегом xx-parent

Вопрос

Как я могу настроить этот проект с процессом выпуска Maven, многомодульным макетом и при этом получать отдельные теги для каждого модуля?

Ссылки

http: //jira.codehaus.org/browse/MRELEASE-261 (закрыто) и MRELEASE-561 (открыто)

6
задан avalancha 12 November 2014 в 07:56
поделиться