ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Steve Loughran <>
Subject Re: Empty arguments on the command-line under windows
Date Sun, 04 Sep 2005 21:47:19 GMT
Martin Senger wrote:
>>IMHO you are being "helped" by the windows command processor. I think it
>>treats whitespace as meaningless.
>    Exactly. That's my current understanding of what is happenning. And
> because this is an OS-dependent feature, I think (IMHO) that Ant when it
> calls Runtime.exec to call an external process, it should use an
> OS-specific launcher - and replace empty arguments with two double quotes
> - which will be interpreted by windows command processor as an empty
> argument, but will not be ignored.

When ant calls runtime.exec on java.exe, cmd.exe, or the equivalent on 
other platforms, does not get a look in.

Ant has passed down an empty parameter, "" to java.exe. I think it is 
java.exe that is being helpful and treating such things specially, not ant.

We should not add an os-specific launcher to <java> because
(a) it works for everyone else
(b) a change would break everything
(c) someone would have to write an os specific launcher for every 
platform ant runs on
(d) someone would have to run tests on every platform
(e) other people would maintain in.

Believe me, platform specific stuff in ant is a troublespot as is. we 
neither want nor need any more,.


>>My suggestion would be to pass the ${} argument as a keyword and
>>value then base the programs behavior on the value of the keyword parameter.
>    What do you mean by "keyword and value"? Do you mean like a java
> property -Dkey=value?
>    Cheers and thanks,
>    Martin

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message