来自ant属性的列表项索引

时间:2012-09-11 12:08:15

标签: list ant ant-contrib

我有一个带有以下值列表的ant参数。

releases=release1,release2

我使用下面的for循环来处理值。

<for list="${releases}" param="release">
  <sequential>
    <echo>Processing @{release}</echo>
  </sequential>
<for>

我想做类似的事情,我想在@ {release} = release2

时回复下面的陈述
<echo>Processing last release</echo>

我不太确定如何获取列表项的索引或者是否可能。

提前致谢, 巴拉吉

1 个答案:

答案 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>