Just tested with ant 1.7.0 and this does not happen for me - the available does find junit in ~/.ant/lib
build.xml: <target name="-check.junit.exists"> <available classname="junit.framework.TestCase" property="junit.exists" value="true"/> </target> <target name="-check.junit" depends="-check.junit.exists" unless="junit.exists"> <echo>JUnit is not currently available to the build environment. Because of this, all targets that require JUnit will be skipped. To enable these targets, place a copy of JUnit (get latest version at http://www.junit.org/) in ANT_HOME/lib.</echo> </target> <target name="build.something" depends="-check.junit" if="junit.exists"> </target> </project> ~/learning/a/junit> ls -l ~/.ant/lib total 128 -rw-r--r-- 1 reilly ccgrp01 120640 Feb 7 2007 junit-3.8.2.jar ~/learning/a/junit> ant -debug Apache Ant version 1.7.0 compiled on December 13 2006 Buildfile: build.xml Adding reference: ant.PropertyHelper Detected Java version: 1.5 in: /usr/java/jdk1.5.0_09/jre Detected OS: Linux Adding reference: ant.ComponentHelper Setting ro project property: ant.file -> /home/reilly/learning/a/junit/build.xml Adding reference: ant.projectHelper Adding reference: ant.parsing.context Adding reference: ant.targets parsing buildfile /home/reilly/learning/a/junit/build.xml with URI = file:/home/reilly/learning/a/junit/build.xml Project base dir set to: /home/reilly/learning/a/junit +Target: +Target: -check.junit.exists +Target: -check.junit +Target: build.something Attempting to create object of type org.apache.tools.ant.helper.DefaultExecutor Adding reference: ant.executor Build sequence for target(s) `build.something' is [-check.junit.exists, -check.junit, build.something] Complete build sequence is [-check.junit.exists, -check.junit, build.something, ] -check.junit.exists: [antlib:org.apache.tools.ant] Could not load definitions from resource org/apache/tools/ant/antlib.xml. It could not be found. Setting project property: junit.exists -> true -check.junit: Skipped because property 'junit.exists' set. build.something: BUILD SUCCESSFUL Total time: 0 seconds ~/learning/a/junit> rm ~/.ant/lib/junit-3.8.2.jar ~/learning/a/junit> ant Buildfile: build.xml -check.junit.exists: -check.junit: [echo] JUnit is not currently available to the build environment. [echo] Because of this, all targets that require JUnit will be skipped. To [echo] enable these targets, place a copy of JUnit (get latest version at [echo] http://www.junit.org/) in ANT_HOME/lib. build.something: BUILD SUCCESSFUL Total time: 0 seconds ~/learning/a/junit> Peter On 2/7/07, Jacob Kjome <[EMAIL PROTECTED]> wrote:
Maybe this is a known issue, but it appears that Junit.jar must be in ${ant.home}/lib in order to be discovered, at least by the <available> task using Ant-1.7.0. In Ant-1.6.5, Junit is found just fine in ${user.home}/.ant/lib, but not in Ant-1.7.0. For instance... <target name="-check.junit.exists"> <available classname="junit.framework.TestCase" property="junit.exists" value="true"/> </target> <target name="-check.junit" depends="-check.junit.exists" unless="junit.exists"> <echo>JUnit is not currently available to the build environment. Because of this, all targets that require JUnit will be skipped. To enable these targets, place a copy of JUnit (get latest version at http://www.junit.org/) in ANT_HOME/lib.</echo> </target> <target name="build.something" depends="-check.junit" if="junit.exists"> ...... </target> With junit.jar in ${user.home}/.ant/lib and using Ant-1.7.0, I always get the <echo> message. If I move junit.jar to ${ant.home}/lib, I don't get the <echo> message. Ant-1.6.5 doesn't care where I put it. It finds junit.jar in either location. Is this a known issue? Has it already been fixed for Ant-1.7.1? Jake --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]