ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jacob Kjome <h...@visi.com>
Subject Re: Ant 1.7.0 can't find Junit in ${user.home}/.ant/lib
Date Sat, 10 Feb 2007 17:45:54 GMT
At 02:00 PM 2/9/2007, you wrote:
 >On 2/9/07, Burgess, Benjamin <BBurgess@tiaa-cref.org> wrote:
 >> Sounds like something I have seen before:
 >>
 >> http://sourceforge.net/tracker/index.php?func=detail&aid=1468822&group_i
 >> d=130558&atid=720017
 >>
 >> Basically, java.net.URL.getFile() had a bug that would return an
 >> incorrect String if the file is not on the same windows drive letter as
 >> the working directory.
 >>
 >> Ben
 >>
 >> -----Original Message-----
 >> From: Jacob Kjome [mailto:hoju@visi.com]
 >> Sent: Friday, February 09, 2007 11:36 AM
 >> To: Ant Users List
 >> Subject: Re: Ant 1.7.0 can't find Junit in ${user.home}/.ant/lib
 >>
 >>
 >> I am using Windows.  And it works just fine with Ant-1.6.5 no matter the
 >> JDK.
 >> But under JDK1.3.1 with Ant-1.7.0, it fails (but works with JDK1.6).  My
 >> user
 >> home is like any normal windows machine....
 >>
 >> C:\Documents and Settings\jkjome\.ant\lib
 >>
 >> And when I copy junit.jar from my .ant/lib to ${ant.home}/lib, it works
 >> just
 >> fine.  Here's my ant.home....
 >>
 >> D:\java\apache-ant-1.7.0
 >>
 >>
 >> Can someone with a Windows machine try this?  Really, I'm not making
 >> this up.
 >
 >Can you file a bug with the information - it is
 >most likely a bug in the jdk like that described by Benjamin.
 >Ant may be able to work around it.
 >
 >As a work-around with Ant 1.7.0, one can place
 >the junit.jar file in the classpath element of the
 >junit task - so perhaps
 ><junit ...>
 >   <classpath ..>
 >      <fileset dir="${user.home}/.ant/lib" includes="junit*.jar"/>
 >  </classpath>
 ></junit>
 >May work?
 >

I've reported it:
http://issues.apache.org/bugzilla/show_bug.cgi?id=41587

The work around is easier than that.  Just put it in ${ant.home}/lib 
and it works fine no matter the JDK, no matter the Ant 
version.  Remember Ant-1.6.5 **always** works no matter where 
junit.jar is and no matter the JDK.  It tried putting the build file 
on my C:\ drive, the same drive as ${user.home}/.ant/lib and it 
didn't make any difference.  Of course, Ant itself is on my E:\ 
drive, so I don't know if that makes a difference, but it doesn't 
matter for Ant-1.6.5, so I don't know why it should for 
Ant-1.7.0?  Seems to me it's a bug in the Ant-1.7.0 <available> task, 
but it only shows its ugly head under certain conditions, such as 
under JDK1.3.1 on a WinXP box.


Jake

 >Peter
 >
 >
 >>
 >> Jake
 >>
 >> Quoting Peter Reilly <peter.kitt.reilly@gmail.com>:
 >>
 >> > 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 <hoju@visi.com> 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 <hoju@visi.com> 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: user-unsubscribe@ant.apache.org
 >> > >  > >> For additional commands, e-mail: user-help@ant.apache.org
 >> > >  > >>
 >> > >  > >>
 >> > >  > >
 >> > >  >
 >> >---------------------------------------------------------------------
 >> > >  > >To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
 >> > >  > >For additional commands, e-mail: user-help@ant.apache.org
 >> > >  > >
 >> > >  > >
 >> > >  > >
 >> > >  >
 >> > >  >
 >> > >
 >> >---------------------------------------------------------------------
 >> > >  >To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
 >> > >  >For additional commands, e-mail: user-help@ant.apache.org
 >> > >  >
 >> > >  >
 >> > >  >
 >> > >
 >> > >
 >> > >
 >> ---------------------------------------------------------------------
 >> > > To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
 >> > > For additional commands, e-mail: user-help@ant.apache.org
 >> > >
 >> > >
 >> >
 >> > ---------------------------------------------------------------------
 >> > To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
 >> > For additional commands, e-mail: user-help@ant.apache.org
 >> >
 >>
 >>
 >>
 >>
 >> ---------------------------------------------------------------------
 >> To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
 >> For additional commands, e-mail: user-help@ant.apache.org
 >>
 >>
 >>
 >> **************************************************************
 >> This message, including any attachments, contains confidential
 >information intended for a specific individual and purpose, and is
 >protected by law.  If you are not the intended recipient, please
 >contact sender immediately by reply e-mail and destroy all copies.
 >You are hereby notified that any disclosure, copying, or distribution
 >of this message, or the taking of any action based on it, is strictly
 >prohibited.
 >> TIAA-CREF
 >> **************************************************************
 >>
 >>
 >> ---------------------------------------------------------------------
 >> To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
 >> For additional commands, e-mail: user-help@ant.apache.org
 >>
 >>
 >
 >---------------------------------------------------------------------
 >To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
 >For additional commands, e-mail: user-help@ant.apache.org
 >
 >
 > 


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
For additional commands, e-mail: user-help@ant.apache.org


Mime
View raw message