Verwenden von Maven Release Plugin AutoVersionSubmodules, um Major-Version zu inkrementieren

8

Ich benutze das maven release plugin auf hudson, wobei autoVersionSubmodules auf true gesetzt ist, um die Entwicklungsversion automatisch in die poms zu inkrementieren.

Ich frage mich, ob es eine Möglichkeit gibt, das Plugin dazu zu bringen, die Hauptversion anstatt die Nebenversion zu erhöhen.

Momentan, wenn ich in Version 1.1.0-Snapshot bin, wird die nächste Version auf 1.1.1-Snapshot gesetzt, aber im Idealfall würde ich gerne zu 1.2.0-Snapshot wechseln.

Irgendeine Idee, wie Sie das erreichen können?

Danke.

    
Arya 05.04.2011, 19:51
quelle

2 Antworten

5

Das Maven-Release-Plugin fordert Sie auf, die Werte der Release-Version zu markieren und auch die nächste Entwicklungsversion. Sie können diese definieren, um eine Aufforderung zu vermeiden. normalerweise würden Sie sie in der Befehlszeile mit etwas wie mvn -DreleaseVersion=1.1.0 -DdevelopmentVersion=1.2.0-SNAPSHOT setzen.

Wenn Sie jedoch nicht zur Auswahl der Version aufgefordert werden, wird etwas für Sie ausgewählt. Wenn Sie das M2 Release Plugin für Hudson verwenden, denke ich, dass es Optionen zur Auswahl der Version für Sie gibt, aber Sie sollten wahrscheinlich eine Möglichkeit finden, sie explizit zu konfigurieren. Weitere Details zu Ihrer speziellen Konfiguration würden helfen.

    
Zac Thompson 06.04.2011, 02:29
quelle
4
  

... wenn es eine Möglichkeit gibt, das Plugin die Hauptversion inkrementieren zu lassen   eher als Nebenversion.

     

Momentan, wenn ich in Version 1.1.0-Snapshot bin, ist die nächste Version eingestellt   zu 1.1.1-snapshot aber im Idealfall würde ich gerne auf ändern   1.2.0-Schnappschuss

Was Sie hier beschreiben, ist, dass maven-release-plugin Ihre Fix-Version inkrementiert und Sie möchten, dass die Nebenversion inkrementiert wird. Wo Version x.y.z bedeutet [majorVersion].[minorVersion].[fixVersion] .

So habe ich das gelöst:

  1. Erstellen Sie das groovige Skript, das die Version von Ihrem pom.xml aufruft, in der Weise, die Sie erklären, und setzen Sie die Parameter developmentVersion und releaseVersion als Hudson-String.
  2. Erstellen Sie einen Job auf Hudson
  3. Platzieren Sie das Groovy-Skript im Arbeitsbereich Ihres Jobs
  4. Legen Sie im Job einen Build-Schritt "Groove-Skript ausführen" fest - geben Sie den Pfad zum Groovy-Skript an
  5. Stellen Sie im Job einen Build-Schritt "Maven-Targets auf höchster Ebene aufrufen" auf und rufen Sie den Befehl maven release mit den Eigenschaften developmentVersion und releaseVersion auf.

Schritt 1:

%Vor%

Schritt 5 (der Befehl maven):

%Vor%

Prost,
Despot

    
despot 17.07.2013 12:18
quelle

Tags und Links