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]

Reply via email to