#ant
Вопрос:
<macrodef>
<if>
<then>
<exec executable="python" failonerror="true" outputproperty="result">
</exec>
</then>
<else>
<exec executable="python" failonerror="true" outputproperty="result">
</else>
</if> </macrodef>
У меня есть блок кода macrodef , который вызывается дважды, но когда он вызывается во второй раз, свойство «результат» в свойстве outputproperty содержит старое значение и не заменяется новым значением, я новичок в ant, был бы признателен за обходной путь ..например, если есть альтернатива для использования, отличная от свойства ant
Комментарии:
1. Свойства в Ant неизменяемы: после установки в первом исполняемом файле они не могут быть изменены. Возможно, вы могли бы использовать выходной параметр (помещает выходные данные в файл) вместо этого.
Ответ №1:
Используя https://ant.apache.org/manual/Tasks/local.html решил проблему для меня, так как свойство, определенное с помощью local, находится в области действия тега.
Что-то вроде этого
<sequential>
<local name="foo"/>
<property name="foo" value="bar.2"/>
<echo>Second sequential: foo is ${foo}</echo>
</sequential>