If you do not want (or cannot) use the Ant -Contrib libraries, you can define the compare
task using javascript:
<scriptdef language="javascript" name="compare"> <attribute name="arg1" /> <attribute name="arg2" /> <attribute name="result" /> <![CDATA[ var val1 = parseInt(attributes.get("arg1")); var val2 = parseInt(attributes.get("arg2")); var result = (val1 > val2 ? 1 : (val1 < val2 ? -1 : 0)); project.setProperty(attributes.get("result"), result); ]]> </scriptdef>
You can use it as follows:
<property name="myproperty" value="20" /> ... <local name="compareResult" /> <compare arg1="${myproperty}" arg2="19" result="compareResult" /> <fail message="myproperty (${myproperty}) is greater than 19!"> <condition> <equals arg1="${compareResult}" arg2="1" /> </condition> </fail>
source share