ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefan Bodewig <bode...@apache.org>
Subject Re: <exec> on openvms
Date Thu, 10 Jul 2003 11:49:17 GMT
On Thu, 10 Jul 2003, Knut Wannheden <knut.wannheden@paranor.ch> wrote:

> The VM supports both VMS native file path syntax and a Unix style
> filenames for most operations.

I see.

> These limitations are imposed by the VM implementation.  In summary
> you can run .EXE images using Unix style filenames and .COM files
> (DCL scripts) using VMS filenames or relative (to a logical) Unix
> filenames.

OK.

> DCL verbs can't be run directly.

Not too surprising.

> I think it should all be solvable inside Execute.  You could
> restrict users to only execute .EXE and .COM files on VMS.  Another
> solution is to write the command to a temporary .COM and then
> execute that.  But I have to do some more testing here.

In either case, we should add some platform specific notes into the
Ant manual.

> But VMS will whine if the command is too long, so I don't think this
> needs handling inside Ant.

I agree.

> The Runtime.exec() with working directory *does* work in more recent
> versions of the JVM (1.3.1-6 and up) given that a special symbol has
> been defined.

Do you think we have a chance to tell a VM that works from one that
doesn't within Execute?  I mean, we always could use reflection to
detect the three arg version of exec, but maybe there is an easier
way.

> The value for os.name is "OpenVMS".  I've been using
> Os.isName("openvms") quite a lot.  It works.

Expect Os.isFamily("openvms") to work in a few minutes 8-).

>> >  - The Ant <exec> task throws a BuildException if the exit code
>> >  is unequal zero.
> 
> Do you know how to get around that?  Should the Execute class, in
> the case of VMS, map the exit status to what's common on Unix
> systems?

Maybe we should provide a Execute.isFailure(int result) method that 
returns result != 0 on all platforms except OpenVMS (and 
result % 2 != 0 on OpenVMS).

> Or would ExecTask need some modifications?

To accompany that, yes.  I'd prefer to keep the platform specific code
isolated in Execute.

> I'd be happy to write some patches for Execute to get <exec> and
> other tasks using it working on VMS.  Would this be of general
> interest

Yes!!

Stefan

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


Mime
View raw message