如何将列表的每个元素分配给任务Ant的参数?

时间:2009-03-13 15:49:00

标签: ant macrodef

如何将已定义任务的参数值转换为值列表(而不必为每个参数值重写任务?)

实施例: 我想避免必须重写三次相同的任务来回显三个不同的值(值1,值2,值3):

<exec executable="cmd">
    <arg value="/c"/>
    <arg value="value 1"/>
</exec>

<exec executable="cmd">
    <arg value="/c"/>
    <arg value="value 2"/>
</exec>

<exec executable="cmd">
    <arg value="/c"/>
    <arg value="value 3"/>
</exec>

由于

1 个答案:

答案 0 :(得分:7)

您可以使用MacroDef task来抽象任务的常见部分:

<macrodef name="myMacro">
    <attribute name="value"/>
    <sequential>
         <exec executable="cmd">
             <arg value="/c"/>
             <arg value="@{value}"/>
         </exec>
    </sequential>
</macrodef>

<myMacro value="value 1"/>
<myMacro value="value 2"/>
<myMacro value="value 3"/>