> > > 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. -- knut