我正在尝试在我的ant构建脚本中添加一个排除列表。我有一个属性(让我们称之为build.excludes),它看起来像这样:
build.excludes=MyApp,AnotherApp
在我的构建脚本中,我有一个类似于以下内容的if语句:
<for list="${appsList}" delimiter="" trim="true" param="currentApp" keepgoing="yes">
<sequential>
<if>
<!-- check if my current build item is in the build.excludes list -->
<then>
<!-- build of a project happens here -->
</then>
</if>
</sequential>
</for>
我能想到的唯一方法是让一个for循环迭代我的build.excludes列表然后做一些事情(但我不知道在哪里放这个for循环...也许在宏中?)。
谢谢!
编辑:Ant 1.6.5并且无法升级。
答案 0 :(得分:0)
您似乎正在使用ant-contrib for
任务。 if
支持与ant condition
任务相同的元素,该任务在版本1.6.5中已经存在很长时间。
以下是一个例子:
<property name="build.excludes" value="MyApp,AnotherApp" />
<property name="appsList" value="MyApp,ExtraApp" />
<for list="${appsList}" delimiter="," trim="true" param="currentApp" keepgoing="yes">
<sequential>
<echo message="Checking @{currentApp}" />
<if>
<not>
<contains string=",${build.excludes}," substring=",@{currentApp}," />
</not>
<then>
<echo message="Building @{currentApp}" />
</then>
<else>
<echo message="Not Building @{currentApp} - excluded" />
</else>
</if>
</sequential>
</for>
给出:
[echo] Checking MyApp
[echo] Not Building MyApp - excluded
[echo] Checking ExtraApp
[echo] Building ExtraApp