ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From gt bradley <>
Subject Re: BUG: uses NT-specific code, breaks on Win98
Date Sat, 15 Jul 2000 19:16:59 GMT
If you are looking at this code, I'll like to point out another nit.  (or
bug dealing with M$'s  view of the world).

in *nix the cd command changes the current working directory.
In NT (Win9x?) the cd command changes the current working directory for a
drive specified (or the current drive if not specified).

so if I'm at c:\bin and I cd to to \temp,  the current working directory is
\temp (as expected).
however, if I'm at c:\bin and I cd to d:\temp, then the current working
directory is still c:\bin, (and D's working directory is set to d:\temp).

So to change from c:\bin to d:\temp one must either
d:                 [to change to the d: drive]
cd \temp         [or cd d:\temp]

pushd d:\temp    [this will "pick-up" the drive change]

pushd will use the drive specifier, (so I use it a lot in my batch(.cmd)

This was causing me grief with one of the earlier releases of Ant,  I hacked
up a work-around for it, so I'm not sure if it is still a problem....

we use several network drives mounted on NT for development, and test/deploy
on Solaris, so I'm now switching our project to Ant for a common
cross-platform build process.

I hope this is helpful

Alex Chaffee wrote:

> We've encountered an Ant bug over in JDOM land.  I'm stumped on how to
> fix it.
> Briefly, assumes that "windows" means "Windows NT" and
> invokes System.exec with a command line that breaks on Windows 95/98.
> ----- Forwarded message from Jason Hunter <> -----
> The issue is that the Ant task uses the "cmd" syntax as a way
> of handling change of directory duties:
>         if (myos.toLowerCase().indexOf("windows") >= 0) {
>             if (!dir.equals(project.resolveFile(".")))
>                 command = "cmd /c cd " + dir + " && " + command;
> This codepath has probably never before been exercised on Win98 because
> it seems to occur only when a "cd" is necessary.  The original developer
> probably used NT to test, and I did likewise for the jdom-contrib area.
> ------------------------------
> At the very least, it should use the %COMSPEC% environment variable to
> identify or cmd.exe as appropriate.  But even that won't
> fix it, since "&&" syntax is not supported in
> Good luck! Please let me know if you make any progress fixing this.
>  - Alex
> Alex Chaffee             
> jGuru - Java News and FAQs
> Creator of Gamelan       
> Founder of Purple Technology
> Curator of Stinky Art Collective

View raw message