Ant example - for loop
此範例展示使用ant做for迴圈,使用到contrib函式庫...
事前工作:
1. 下載antcontrib jar: http://sourceforge.net/projects/ant-contrib/files/ant-contrib/ (筆者用的是1.0b3)
2. 解壓後,將antcontrib jar檔放置到ant目錄下的lib目錄裡
3. 參數檔:
#build.properties
SERVER_LIST=1.1.1.1,2.2.2.2,3.3.3.3
說明:
1. ant的for迴圈裡面取用迴圈參數是用@來取值,ex: @{letter},為了避免跟一些使用@的參數參雜產生錯誤,這邊另外指派給str這個變數
2. 另外,這邊使用contrib下的var方式來宣告變數,原因是因為<property name="str" value="@{letter}"/>方式宣告的變數只會在第一次呼叫時候初始化一次,該值不會再被替換
程式碼:
#build.xml
<project name="example" basedir="." default="build"
xmlns:ac="antlib:net.sf.antcontrib">
<property file="build.properties" />
<target name="build">
<ac:for list="${SERVER_LIST}" param="letter">
<sequential>
<ac:var name="str" value="@{letter}"/>
<echo>Letter: ${str}</echo>
</sequential>
</ac:for>
</target>
</project>
執行:
$ ant
Buildfile: /private/tmp/build.xml
build:
[echo] Letter: 1.1.1.1
[echo] Letter: 2.2.2.2
[echo] Letter: 3.3.3.3
BUILD SUCCESSFUL
Total time: 0 seconds
參考: