2011-01-25 9 views
6

bramki

wielomodułowych uwolnienie Maven ze znacznikami na modułMaven konfiguracji zwalniający z tagami svn na moduł

Sytuacja

Załóżmy następującą strukturę projektu na projekt Maven-Java:

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

Struktura projektu w Subversion jest następująca:

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

Moim celem jest tworzenie tagów na moduł podczas wykonywania wydaniu:

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 

W przeszłości każdy moduł został zbudowany i wydany oddzielnie. Wraz ze wzrostem projektu (30 modułów) wzrósł czas na zbudowanie wersji. Chciałbym zmienić projekt na zestaw złożony z wielu modułów w celu wykonania i wydania reaktora. Budynek nie wydaje się być problemem, ale tworzenie tagów na moduł jest.

Wtyczka maven-release-plug wydaje się nalegać na zrobienie tylko jednego tagu dla całego projektu/wydania. Szukam sposobu na utworzenie wielu tagów, np. tag na moduł.

Co Próbowałem tak daleko

  • Tworzenie xx-wszystko alias Subversion, który sprawdza wszystkie sub-modułów, więc mogę odwoływać się do nich z <module>../xx-moduleB</module>
  • Włączanie commitByProject, która popełniła jeden moduł , ale nie tag na moduł. Patrz:
  • Każdy moduł ma własne elementy <scm> w , ale nie są one używane podczas wykonywania zwolnienia reaktora.
  • mvn --batch-mode -DcommitPerProject=true -DautoVersionSubmodules=true -Drelease.version=1.0.6 release:prepare release:perform

Problemy

  • Maven uwalnianiu-wtyczka nie utworzenia tagu svn na moduł
  • Maven uwalnianiu-wtyczki zastąpienie znacznik <scm> z nieprawidłowymi URL, np zagnieżdżone „trunk” -tags pod tagiem xx-dominującej

pytań

Jak mogę skonfigurować ten projekt z procesem uwalniania Maven, układ multi-moduł i wciąż osobne tagi na module?

Referencje

http://jira.codehaus.org/browse/MRELEASE-261 (zamknięty) i MRELEASE-561 (Open)

+0

+1 bardzo ładnie napisane i dokładnie ten problem, na który napotykam! Mam nadzieję, że w ostatnich latach nastąpiła poprawa – avalancha

Odpowiedz

1

Według Arnaud Héritier (członek Apache Maven PMC)
Maven nie mogą obsługiwać aplikacje kompozytowe jak module- A v0.1, moduł-B v0.3.
Maven rozpatruje projekt i wszystkie jego podmoduły jako unikalny zestaw.

patrz: http://blog.aheritier.net/maven-release-plugin-2-0/ (9 czerwca 2010)

Może sytuacja się zmieniła, ponieważ z Maven 3?

Powiązane problemy