【发布时间】:2014-05-21 14:22:35
【问题描述】:
我需要一些关于蚂蚁的帮助。我有一个目标,我使用来自 ant-contrib 的 foreach 遍历文件集。我为循环的每次迭代调用另一个目标(我们称之为 doStuff)。
doStuff 的输出是我想存储在文件中的东西。我希望文件具有唯一的名称,并且我认为随着每个循环递增的整数很适合我。
我尝试了以下代码的多种变体,但均未成功。我可能还没有理解。它似乎适用于不可变属性,使目标无状态。虽然我很喜欢这样,但这并不能帮助我解决当前的问题。
有没有办法在第一个目标中设置 myInt 并保持“状态”,在每个循环中递增并将其传递给下一个目标?
<var name="myInt" unset="true"/>
<var name="myInt" value="0"/>
<target name="default">
<foreach target="doStuff" param="theFile">
<fileset dir="" casesensitive="yes">
<depth max="0"/>
</fileset>
</foreach>
</target>
<target name="doStuff" description="Make output directories and run the MXUnit task">
<var name="op1" value="${myInt}"/>
<var name="op2" value="1"/>
<var name="op" value="+"/>
<math result="result" operand1="${op1}" operation="${op}" operand2="${op2}" datatype="int"/>
<var name="myInt" unset="true"/>
<var name="myInt" value="${result}"/>
<!-- Here I save the file with the name ${result}-->
</target>
【问题讨论】:
-
您的两个目标(默认和测试)如何关联?您能否更好地指定您的示例并使其可运行?
-
我的错误,目标测试的名称错误。现在更新了。
标签: ant ant-contrib