Ich baue Maven-Projekte über TeamCity / Git und versuche, die TeamCity-Build-Nummern in die pom.xml einzufügen, die nach einem erfolgreichen Build in mein Repository veröffentlicht wird. Leider kann ich nicht feststellen, wie eine pom.xml mit den eingefügten Substitutionen veröffentlicht wird.
Meine pom.xml enthält Informationen wie:
%Vor% wobei build.number von TeamCity bereitgestellt wird. Das alles baut ok, und wenn (sagen wir) build.number = 0.1, dann ist die Bereitstellung ein pom.xml
in einem Verzeichnis mit 0.1. Alles gut und gut.
Die pom.xml, die bereitgestellt wird, ist jedoch die pom.xml
ohne Ersetzungen. d. h. Maven läuft mit einem pom.xml
mit entsprechenden Ersetzungen, stellt aber die ursprüngliche Version bereit und ich bekomme
im letzten pom.xml
. Wie kann ich die Build-Versionsnummer in pom.xml
erhalten?
Ich würde diesen Ansatz nicht verwenden, da es das Erstellen eines Projekts aus dem SCM nicht möglich macht, ohne die Eigenschaft build.number
bereitzustellen. Ich denke nicht, dass das eine gute Sache ist. Vielleicht vermisse ich aber etwas.
Eigentlich bekomme ich nicht, was Sie genau erreichen wollen (warum schreiben Sie zum Beispiel nicht die Build-Nummer in das Manifest). Aber laut den Maven Features auf der Teamcity-Website:
Standardmäßig wird die TeamCity-Buildnummer auch mit der Maven-Versionsnummer (...) synchronisiert.
Könnte das nicht hilfreich sein? Es gibt einen weiteren Thread über diese hier .
Versuchen Sie die generateReleasePoms Eigenschaft von maven-realease-plugin zu verwenden vielleicht hilft das ein wenig.