Conditional Task Execution with Ant
I'm trying to conditionally include my test jar files based on an Ant property. My problem is that the "if" attribute of the <task> element only accounts for the property being present or not. I'd love to be able to specify:
ant -Denable.cactus=false
But Ant seemingly executes my task if a property is present - so even though the value is false, it still executes. Any ideas? Here's my task:
<target name="copy-test-jars" depends="init" if="enable.cactus" description="Copy test-related JAR files to WEB-INF/lib"> <echo>Copying Cactus, StrutsTestCase and JUnit JARs</echo> <mkdir dir="${webapp.target}/WEB-INF/lib"/> <!-- Copy jars --> <copy todir="${webapp.target}/WEB-INF/lib"> <fileset dir="${strutstestcase.dir}" includes="*.jar"/> <fileset dir="${cactus.dir}"> <include name="*.jar"/> <exclude name="commons-logging.jar"/> <exclude name="log4j-*.jar"/> <exclude name="servlet.jar"/> </fileset> <fileset dir="${env.ANT_HOME}/lib" includes="junit.jar"/> <fileset dir="${env.ANT_HOME}" includes="junit-noframes.xsl"/> </copy> </target>
BTW, this XML was made web-savvy by the E2 Source Code Formatter - a must-have bookmark. I got this tip from The FuzzyBlog!.
Posted by Danno Ferrin on January 15, 2003 at 10:50 PM MST #
Posted by Erik Hatcher on January 16, 2003 at 01:17 PM MST #
Posted by Matt Raible on January 16, 2003 at 01:34 PM MST #
Posted by Matt Raible on January 16, 2003 at 02:35 PM MST #
Posted by Anonymous on January 17, 2003 at 12:08 PM MST #
Posted by 155.70.39.45 on February 09, 2007 at 01:41 PM MST #