2014-04-23 6 views
6

Ich habe multimodule Maven-Projekt und möchte einen Teil der Release-Vorbereitung automatisieren. Vor der Veröffentlichung erhöhe ich die Version von geändertem Modul A, und weil ich Modul B von A abhängig ist, muss ich auch die Version von B erhöhen. Ich weiß, dass es "Versionen" und "release" maven plugins gibt, aber sie nicht Kaskade das Update der Version. Ist es möglich, die B-Version automatisch zu aktualisieren?Wie wird die Kaskadenversion in Maven gesetzt?

Einige Ergänzungen, um es klar zu machen: Wir verwenden keine Version des übergeordneten Moduls, also muss ich es nicht aktualisieren.

Vor Version Bump:

parent module (1.0) 
| 
|-- A module (0.01.00) 
|-- B module (0.02.00) 

Nach Version Bump:

parent module (1.0) 
| 
|-- A module (0.01.01) 
|-- B module (0.02.01) 
+0

Es ist schwer, was zu Bild, das Sie Fragen - sind Module A und B Teil der Multi-Modul-Struktur? –

+0

Haben die Module A und B die gleiche Version wie die Eltern und nacheinander? –

Antwort

4

release Plugin update-versions Ziel und autoVersionSubmodules Option, die Submodule Versionen übergeordnete Projektversion setzt.

Anwendungsbeispiel here.

Nun, wenn Sie Abhängigkeiten zwischen Ihren Submodulen haben (Module B ist abhängig von Module A), werden sie nicht von release Plugin aktualisiert werden.

Um dies zu trainieren Sie ${project.version} verwenden können, wenn pom.xml Abhängigkeit Module A in Module B ‚s definieren.

Zum Beispiel (in Module B ‚s pom.xml):

<dependency> 
     <groupId>test</groupId> 
     <artifactId>module-a</artifactId> 
     <version>${project.version}</version> 
    </dependency> 

(dies funktionieren wird, weil beide Module A und Module B Versionen gleich und abgeleitet von den Eltern Projektversion) sind

+0

danke für deine antwort, ich habe einige details zu meiner frage hinzugefügt. Ich benutze keine Elternversion, also aktualisiere ich sie nicht und es ist immer "1.0". Modul A und Modul B haben unterschiedliche Versionen, weil B von A abhängt, aber A nicht von B abhängt, also erhöhe ich die Version von B, ohne die Version von A zu erhöhen. – mulya

Verwandte Themen