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> nel pom.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)

È stato utile?

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?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top