ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Wannheden, Knut" <>
Subject RE: <exec> on openvms
Date Thu, 24 Jul 2003 16:12:05 GMT
> > If I'm not mistaken then a DCL script can only process a maximum of
> > 8 arguments and the call to a DCL script from Java, including the
> > script filename and its arguments, can at the most be 256 characters
> > long.
> I'm out of OpenVMs business for too long, to know whether you are
> correct.  Ken's suggestion of munging the arguments into a single one
> and reparsing it afterwards may be feasible.  Don't know about the
> length limitations.

That's certainly a way to get around the parameter count limit, but leaves
me with even two characters less ;-)

> > Either this is a limitation users on VMS have to live with or a
> > different approach is required.
> Users live with command line length limitations on all OSes, the
> limits just vary.  256 is not much, I agree.  If there is a different
> solution, the go for it.

I found that you can't even use the full 256 characters from within Java.
Probably because the JVM uses SYS$SYSTEM:LOGINOUT.EXE to execute the script,
which again requires characters.

I have now implemented a strategy which allows me to both use longer
commands (up to 1024 characters) and use DCL verbs transparently.  I just
write the command to a temporary .COM file and execute that.

I'd like to know how I can submit these patches.  My goal would be to make
Ant fully VMS compatible.  But I think this requires quite a lot of work.
For me it would be great if for now just the <exec> task would work.

What remains to be done:
 1. Add a method Execute#isFailure(int result) or something similar
 1.1 Modify <exec> to use this method
 1.2 Update documentation of <exec>
 2. Write a RUNANT.COM DCL sript for shell execution
 3. Write a ANT.COM (and BUILD.COM) script

Task 1. (and 1.1, 1.2) should be easy.
2. could prove to be pretty hard as Java would actually pass a Unix style
path to the DCL script which would have to be parsed into a VMS filespec.
3. would be about to make Ant VMS compatible in general.

I still haven't been able to run all the unit test.  So I expect to have to
make some minor changes to those as well.


  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message