messa a punto di rilascio Maven con tag SVN per modulo
-
24-10-2019 - |
Domanda
Obiettivo
multimodulo rilascio Maven con le etichette per modulo
Situazione
Si supponga la seguente struttura di progetto per un progetto Java Maven-based:
xx-parent
xx-moduleA
xx-moduleB
xx-moduleC/submodule1
xx-moduleC/submodule2
xx-moduleC/submodule3
La struttura del progetto in Subversion è il seguente:
xx-parent/trunk
xx-moduleA/trunk
xx-moduleB/trunk
xx-moduleC/trunk/submodule1
xx-moduleC/trunk/submodule2
xx-moduleC/trunk/submodule3
Il mio obiettivo è quello di creare tag per modulo durante l'esecuzione di un rilascio:
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 passato, ogni modulo è stato costruito e rilasciato separatamente. Poiché il progetto è cresciuto più grandi (30 moduli), il tempo di costruire un rilascio aumentato. Vorrei cambiare il progetto ad un multi-modulo impostato per eseguire una generazione reattore e rilascio. Costruzione non sembra essere un problema, ma la creazione di tag per ogni modulo è.
Il-release-plugin Maven sembra insistere sul fare solo un singolo tag per l'intero progetto / release. Sto cercando un modo per creare più tag, ad esempio, un tag per modulo.
Quello che ho provato finora
- Creazione di un xx-all alias Subversion, che controlla fuori tutte le sotto-moduli, in modo che io possa fare riferimento con
<module>../xx-moduleB</module>
- commitByProject , che ha commesso per modulo, ma non tag per modulo. Vedere
- Ogni modulo ha i propri elementi
<scm>
nelpom.xml
, ma non sono utilizzati quando si esegue una stampa reattore. -
mvn --batch-mode -DcommitPerProject=true -DautoVersionSubmodules=true -Drelease.version=1.0.6 release:prepare release:perform
Problemi
- Maven-release-plugin non crea un tag svn per modulo
- Maven-release-plugin sovrascrive il tag
<scm>
con gli URL non validi, ad esempio, nidificato "tronco" -tag sotto il tag xx-genitore
Domanda
Come faccio a creare questo progetto con un processo di rilascio Maven, un layout multi-modulo e ancora ottenere separare i tag per modulo?
Riferimenti
http://jira.codehaus.org/browse/MRELEASE-261 (chiuso) e MRELEASE- 561 (Open)
Soluzione
Secondo Arnaud Héritier (membro Apache Maven PMC),
Maven non può gestire applicazioni composite come modulo-A v0.1, modulo B-v0.3.
Maven considerare un progetto e tutti i suoi sotto-moduli come un insieme unico.
vedi: http://blog.aheritier.net/maven-release-plugin- 2-0 / (9 giugno 2010)
Forse la situazione è cambiata dal momento che con Maven 3?