Сделать макрос ANT более пригодным для повторного использования
У меня есть простой макрос (упрощенная версия ниже). На данный момент предполагается, что для одного аргумента будет одно значение, однако для этого аргумента может быть несколько значений. Как я могу передать 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 ответ
Решение
Оказывается, вы можете сделать это одним из двух способов. Либо вы можете передавать коллекции, такие как набор файлов, как атрибуты, а затем ссылаться на них по мере необходимости, или вы можете передавать коллекции как элементы и ссылаться на них, используя имя элемента.