Welcome to the Joint-Venture Blog from Fabio Cortesi and Stefan Jäger.
05.02.2008 - Stefan Jäger
In some cases, ANT has it’s limitations. For example, it is not really easy to create an if-else structure or a for-loop. For this reason, a few people started long time ago the Ant-Contrib project. Just download it and put the jar file in the lib folder of the project. Then, just at following line to the build file:
<taskdef resource="net/sf/antcontrib/antcontrib.properties"></taskdef>Now, you can start using constructs like if, foreach and combine these tasks with usual ANT tasks. Here a little example:
with antcontrib:
<target name="theultimateconditionmachine"> <if> <equals arg1="${foo}" arg2="bar" /> <then> <echo message="property foo is bar" /> </then> <else> <echo message="property foo is not bar" /> </else> </if> </target>
without antcontrib:
if you want to perform the same task with ant, you need to create 4 (!) ant targets:
<target name="noway"> <antcall target="conditionIf"/> <antcall target="conditionElse"/> </target> <target name="conditionDef"> <condition property="conditionIsTrue"> <equals arg1="${foo}" arg2="bar"/> </condition> </target> <target name="conditionIf" depends="conditionDef" if="conditionIsTrue"> <echo message="property foo is bar"/> </target> <target name="conditionElse" depends="conditionDef" unless="conditionIsTrue"> <echo message="property foo is not bar"/> </target>
Comments
Leave a comment