Я хочу написать макрос ant, который будет вызывать задачу сбоя, если предоставленный атрибут содержит определенную строку. Единственный способ, которым я знаю, как сделать сравнение строк в муравейнике, это использовать javascript. У меня есть что-то вроде этого:
<macrodef name="check-for-error">
<attribute name="input"/>
<sequential>
<echo message="@{input}"/>
<script language="javascript">
<![CDATA[
var response= "@{input}";
if(response.indexOf("FAIL") !=-1){
project.setProperty("error","true");
}
]]>
</script>
<fail message="INPUT FAILED" if="${error}"/>
</sequential>
</macrodef>
Проблема этого подхода в том, что я устанавливаю глобальное свойство внутри javascript, и ant не позволяет вам сбросить свойство. Я знаю, что у муравья есть возможность устанавливать локальные свойства. Как я могу получить доступ к локальным свойствам из JavaScript? Или есть лучший способ сделать все это вместе?