I have tested with JDK 1.3 and it works:
~/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.3 in: /usr/java/jdk1.3.1_18/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


Are you running on windows?
If so there may be the usual problems with spaces and
perhaps the location of user.home.

Peter

On 2/9/07, Jacob Kjome <[EMAIL PROTECTED]> wrote:

Hi Peter,

Can you take another look at this?  I apologize that I did not point
it out in the original email, but the problem is specifically with
older JVM's such as JDK1.3.1.  I happened to be using it for building
the project where I found the problem.  I just didn't realize it was
specific to JDK1.3.1 until I tried with JDK1.6.  I only tried JDK1.6
after you failed to reproduce the behavior and I saw you were using JDK1.5.

I think this got lost in the shuffle of the current religious debate
over whether XML is a scripting language.  How about we fix this
issue first and then move on to that never-ending debate.  BTW,
everyone realizes that the Gant project exists, right?

http://groovy.codehaus.org/Gant


Jake

At 10:27 AM 2/7/2007, you wrote:
 >
 >Hi Peter,
 >
 >I narrowed it down.  Indeed, your findings are correct.... for JDK
 >1.5 (or JDK 1.6 on my machine).  Try it under JDK 1.3.1.  That's when
 >it fails to find Junit.jar unless junit.jar is under
 >${ant.home}/lib.  Not sure about JDK 1.4.x since I don't care to install it.
 >
 >Jake
 >
 >At 02:57 AM 2/7/2007, you wrote:
 > >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]
 > >
 > >
 > >
 >
 >
 >---------------------------------------------------------------------
 >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]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to