Вопрос

Цель

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

Ситуация

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

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

Структура проекта в подрывной деятельности следующая:

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, похоже, настаивает на том, чтобы сделать только один тег для всего проекта/выпуска. Я ищу способ создать несколько тегов, например, теги на модуль.

Что я пробовал до сих пор

  • Создание псевдонима подрывного подрыва, который проверяет все подмодулы, поэтому я могу ссылаться на них с <module>../xx-moduleB</module>
  • Включает CommitbyProject, который совершал модуль, но не теги на модуль. Видеть
  • У каждого модуля есть свои <scm> элементы в pom.xml, но они не используются при выполнении выпуска реактора.
  • mvn --batch-mode -DcommitPerProject=true -DautoVersionSubmodules=true -Drelease.version=1.0.6 release:prepare release:perform

Проблемы

  • Maven-Release-Plugin не создает тег SVN на модуль
  • Maven-Release-Plugin перезаписывает <scm> Теги с неверными URL-адресами, например, вложенные «туловище» -tags под тегом XX-родителя

Вопрос

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

использованная литература

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

Это было полезно?

Решение

По словам Арно Эритье (член Apache Maven PMC),
Maven не может обрабатывать композитные приложения, такие как Module-A V0.1, Module-B v0.3.
Мавен считает проект и все его подмодулы как уникальный набор.

видеть: http://blog.aheritier.net/maven-release-plugin-2-0/ (9 июня 2010 г.)

Может быть, ситуация изменилась с тех пор, как с Maven 3?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top