2010-03-18 82 views
4

我想設置我的maven版本以批處理模式運行,但我不是默認scm標籤${artifactId}-${releaseVersion}的粉絲。相反,我想簡單地用${releaseVersion}來標記它;但是,我不清楚這樣的屬性是否存在(即沒有-SNAPSHOT後綴)。mvn發佈:執行自動指定scm標籤,其中包括髮布版本

我想配置類似於下面的代碼。 maven-release-plugin可以使用這種默認標籤嗎?

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-release-plugin</artifactId> 
    <version>2.0</version> 
    <configuration> 
    <tag>${releaseVersion}</tag> 
    </configuration> 
</plugin> 
+0

在批處理模式下運行的部分原因是執行自動發佈。所以這必須發生,沒有任何交互。 – user294059 2010-03-18 16:39:43

+0

這是非常類似於我的問題:http://stackoverflow.com/questions/4466714/how-to-customise-the-tag-format-of-the-maven-release-plugin – 2011-03-02 22:05:48

回答

-2

試試這個:

<configuration> 
    <tag>${project.version}</tag> 
</configuration> 
+0

當我運行這個,至少與mvn版本:準備-DdryRun =真,我得到scm標籤0.2-SNAPSHOT(即與-SNAPSHOT)。我正在尋找一種簡單的方法來獲取沒有SNAPSHOT的版本號。 – user294059 2010-03-18 14:19:36

+0

奇怪,是不是發佈應該是正常版本,而不是napshot - >將POM中的版本從x-SNAPSHOT更改爲新版本 – 2010-03-18 14:52:53

+0

將POM中的版本從x-SNAPSHOT更改爲新版本 - >取自文檔 – 2010-03-18 15:26:48

0

您可以在屬性傳爲:

releaseVersion - 你要什麼版本,它被釋放(1.0) developmentVersion - 下版本(2.0-SNAPSHOT) 標記 - 標記的名稱

1.0-SNAPSHOT表示1.0版本發佈,但未設置它。您可以將POM文件中的該屬性設置爲常規屬性。

1

我剛剛得到這個工作,當使用哈德森做我的發佈。我注意到Hudson(使用Maven Release Plugin)正在使用像-Dproject.rel.com.example:my-artifact-id = 1.0.1這樣的屬性來啓動命令。使用下面的插件配置:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-release-plugin</artifactId> 
    <configuration> 
     <tag>REL-${project.rel.com.example:my-artifact-id}</tag> 
    </configuration> 
</plugin> 

導致標籤爲REL-1.0.1

我是新來發布插件,但我會假設類似的會在命令行中運行的東西。