2011-09-06 66 views
1

我想知道是否可以使用「基於Ant的版本控制」,或者類似的東西。這就是我的意思是:基於Ant的版本控制

的JAR文件的一個常見的命名規則是一樣的東西MyJar-1.0.14.jar,其中MyJar是JAR文件的基本名稱和-1.0.14表示版本號。

在我的螞蟻buildscript,我將有一個任務dist將看東西這樣的:

<target name="dist" depends="compile"> 
    <jar destfile="${dist.dir}/MyJar.jar"> 
     <!-- All the filesets to JAR up --> 
    </jar> 
</target> 

我的問題是:不支持螞蟻任何會自動更新JAR文件名每個外部方案的版本號是否正確?東西讓Ant目標實際上可能是這樣的:

<target name="dist" depends="compile"> 
    <jar destfile="${dist.dir}/MyJar-[revision].jar"> 
     <!-- All the filesets to JAR up --> 
    </jar> 
</target> 

[revision]是構建/修訂版本號根據一些內部定義的修訂方案(也許在一些其他的外部文件中定義)?

如果是這樣的話,如果我瞭解我的情況,然後我堅持我想要的JAR,我的分佈的新版本每次修改build.xml文件?是?沒有?

回答

0

不知道任何Ant任務自動遞增的數字,但你應該定義修訂爲一個build.properties文件的屬性您將導入。屬性文件將包含Ant build.xml文件

<property file="build.properties"/> 
<target> 
    <jar destfile="${dist.dir}/MyJar-${revision}.jar> 

默認值

revision=1.0 

更新在構建時的屬性只需要調用Ant目標與-D值設置

ant -Drevision=2.0 dist 

這避免了需要更新在發佈時的任何文件。

+0

我同意這是實現結果的最簡單方法,但是會出現一個相關問題:用戶期望增量構建的內容;即沒有清理乾淨的地方?我們應該嘗試刪除舊版本的jar文件還是應該積累它們? –

0

您可以添加屬性,並使用它像:

<jar destfile="${dist.dir}/MyJar-${revision}.jar"> 
4

有一個Ant任務,這將增加內部版本號。其所謂的buildNumber

閱讀,增量,寫一個版本號爲默認文件,build.number。

<buildnumber file="mybuild.number"/>` 

buildNumber.html

我們的螞蟻處理是這樣的

1 - 版本控制更新構建文件

2 - 增量的版本號

3 - 檢查/提交內部編號