Chcę napisać makro ant, które wywoła zadanie fail, jeśli dostarczony atrybut zawiera określony ciąg znaków. Jedynym sposobem, w jaki potrafię porównywać łańcuchy w mrówce, jest użycie javascript. Mam coś takiego:Ant: jak zawieść, jeśli właściwość zawiera określony ciąg
<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>
Problem z tego podejścia jest to, że mam ustawienie właściwość, która jest globalnym wewnątrz javascript i mrówka nie pozwala zresetować właściwość. Wiem, że mrówka ma możliwość ustawiania właściwości lokalnych. Jak uzyskać dostęp do lokalnych właściwości z poziomu javascript? Czy istnieje lepszy sposób, aby to wszystko razem?
ten pracował dla mnie z ant wersji 1.8.2, dzięki! – larham1