Maven Release -Setup mit SVN -Tags pro Modul
-
24-10-2019 - |
Frage
Tor
Multimodule Maven Release mit Tags pro Modul
Lage
Nehmen Sie die folgende Projektstruktur für ein auf Maven basierender Java-Projekt an:
xx-parent
xx-moduleA
xx-moduleB
xx-moduleC/submodule1
xx-moduleC/submodule2
xx-moduleC/submodule3
Die Projektstruktur in der Subversion ist wie folgt:
xx-parent/trunk
xx-moduleA/trunk
xx-moduleB/trunk
xx-moduleC/trunk/submodule1
xx-moduleC/trunk/submodule2
xx-moduleC/trunk/submodule3
Mein Ziel ist es, Tags pro Modul bei der Ausführung einer Veröffentlichung zu erstellen:
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
In der Vergangenheit wurde jedes Modul separat gebaut und freigegeben. Als das Projekt größer wurde (30 Module), nahm die Zeit für den Aufbau einer Veröffentlichung zu. Ich möchte das Projekt in ein Multi-Modul-Einrichten ändern, um einen Reaktorbau und eine Veröffentlichung durchzuführen. Das Gebäude scheint kein Problem zu sein, aber das Erstellen von Tags pro Modul ist.
Das Maven-Release-Plugin scheint darauf zu bestehen, nur ein einzelnes Tag für das gesamte Projekt/die gesamte Version zu machen. Ich suche nach einer Möglichkeit, mehrere Tags zu erstellen, z. B. ein Tag pro Modul.
Was ich bisher versucht habe
- Erstellen eines XX-All-Subversion-Alias, der alle Submodules überprüft
<module>../xx-moduleB</module>
- Aktivieren CommitByProject, die sich pro Modul engagierte, aber nicht modul. Sehen
- Jedes Modul hat seine eigene
<scm>
Elemente in derpom.xml
, aber sie werden bei der Durchführung einer Reaktorfreisetzung nicht verwendet. mvn --batch-mode -DcommitPerProject=true -DautoVersionSubmodules=true -Drelease.version=1.0.6 release:prepare release:perform
Probleme
- Maven-Release-Plugin erstellt kein SVN-Tag pro Modul
- Maven-Release-Plugin überschreibt das
<scm>
Tag mit ungültigen URLs, z. B. verschachtelten "Trunk" -Tags unter dem XX-Eltern-Tag
Frage
Wie kann ich dieses Projekt mit einem Maven-Release-Prozess, einem Multi-Modul-Layout, einrichten und dennoch separate Tags pro Modul erhalten?
Verweise
http://jira.codeehaus.org/browse/mrelease-261 (Geschlossen) und mrelease-561 (offen)
Lösung
Nach Arnaud Héritier (ein Apache -Maven -PMC -Mitglied),
Maven kann Verbundanwendungen wie Modul-A V0.1, Modul-B v0.3 nicht verarbeiten.
Maven betrachtet ein Projekt und alle seine Submodules als ein einzigartiges Set.
sehen: http://blog.aheritier.net/maven-release-plugin-2-0/ (9. Juni 2010)
Vielleicht hat sich die Situation seitdem mit Maven 3 geändert?