2012-08-17 42 views
0

使用maven版本:準備簡化了部署工件的過程。可以使用tag標籤定義標籤。該插件允許使用屬性來構建自定義標籤名稱。Maven版本創建基於版本的標籤

但我需要一個更加定製的版本,它在版本中使用「_」insteat分數來表示分隔符。例如版本:1.0.1.2 =>標記名應該是01_01_01。

如果我可以訪問majorVersion,minorVersion of $ {project.version},這也是一個解決方案。但它似乎並不普遍。

build-helper plugin seems to be no solution since I call release:prepare and therefore any settings by this plugins will be lost

任何想法如何以一種簡單的方式實現這一點?

+0

首先你爲什麼需要那個?爲什麼不使用默認值。提取信息版本信息可以由內部編號插件提取。 – khmarbaise 2012-08-17 11:09:33

+0

@khmarbaise他的問題是,他想控制發佈的標籤名稱:準備標記他的SCM和http://maven.apache.org/plugins/maven-release-plugin/prepare-mojo.html#tagNameFormat不是 – 2012-08-17 11:11:37

回答

0

簡單的方法是始終運行像這樣

mvn validate release:prepare 

當然行家,如果你忘記調用validate在發佈之前:準備發行受損害......所以這是沒有好。

下一個改進是有defaultGoals

<profile> 
    <id>prepare-release</id> 
    <build> 
    <defaultGoal>validate release:prepare</defaultGoal> 
    </build> 
</profile> 

然後你通過執行非標準

mvn -Pprepare-release 

真正的修復版本配置文件將提出一個補丁, Maven發佈插件,允許在tagNameFormat配置參數中使用正則表達式替換。

+0

謝謝。這對我有用。 (用建設助手插件做瘋狂的事情,但如果這是maven的方式... ;-)) – EhmKah 2012-08-20 11:28:54

0

使用Maven-Release插件,您可以指定所需標籤的格式。 Maven發佈插件運行2個目標: 發佈:準備和發佈:執行。

在這裏,你有必要的目標,在你的根POM: http://maven.apache.org/maven-release/maven-release-plugin/usage.html

,如果你使用的是詹金斯的工具,你可以使用Maven版本插件來運行它, 或者只是手動運行MVN發佈:準備和mvn發行:執行