我有一个带有以下值列表的ant参数。
releases=release1,release2
我使用下面的for循环来处理值。
<for list="${releases}" param="release">
<sequential>
<echo>Processing @{release}</echo>
</sequential>
<for>
我想做类似的事情,我想在@ {release} = release2
时回复下面的陈述<echo>Processing last release</echo>
我不太确定如何获取列表项的索引或者是否可能。
提前致谢, 巴拉吉
答案 0 :(得分:2)
这就是全部?而且,您已经在使用Ant-Contrib任务。看看PropertyRegEx任务。这就是Ant-Contrib任务,它将完全符合您的要求:
<propertyregex property="last.release"
input="${releases}"
regexp=".*,(.*)"
select="\1"/>
这会将${last.release}
设置为字符串中的最后一个版本。
注意空字符串或与正则表达式不匹配的字符串!您可以使用Ant-Contrib if
任务来测试:
<propertyregex property="last.release"
input="${releases}"
regexp=".*,(.*)"
select="\1"/>
<if>
<isset property="last.release"/>
<then>
<echo>The last release is ${last.release}</echo>
</then>
<else>
<fail>Oops! Something didn't work...</fail>
</else>
</if>