使ANT宏更可重用

时间:2010-05-12 17:39:42

标签: ant arguments macrodef

我有一个简单的宏(下面是简化版)。目前它假定单个参数将有一个值,但该参数可能有多个值。如何为该参数传递0+值,以便宏可用于需要为该参数传递0+值的情况,而不仅仅是单个值

<macrodef
   name="test">
   <attribute name="target.dir" />
   <attribute name="arg.value" />
      <sequential>
         <java jar="${some.jar}" dir="@{target.dir}" fork="true" failonerror="true">
            <arg value="-someargname=@{arg.value}"/>
         </java>
      </sequential>
</macrodef>

1 个答案:

答案 0 :(得分:0)

原来你可以通过以下两种方式之一做到这一点。您可以将诸如fileset之类的集合作为属性传递,然后根据需要引用它们,或者您可以将集合作为元素传递并使用元素名称引用它们。