ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hazzard, Powell" <Powell.Hazz...@hp.com>
Subject RE: OpenVMS execution
Date Mon, 15 May 2006 12:13:13 GMT
Stefan wrote:
>>>... and break backwards compatibility with 1.6.  I'd rather introduce
the flip but make it default to Ant 1.6's behavior.

   I understand, hence we original suggested a property which flipped
the default behavior (Unix style or 1.6 behavior OpenVMS style).  See:
http://issues.apache.org/bugzilla/show_bug.cgi?id=39359

>>>I'd expect them to return EXIT_SUCCESS or EXIT_FAILURE which are
defined to be 1 and 0 respectively if I recall my OpenVMS C knowledge
correctly (which hasn't been used for eight years now).

   Your knowledge is still correct (You can compile with an option to
flip EXIT_SUCCESS & EXIT_FAILURE on OpenVMS to honor normal OpenVMS
status codes).  However, Java really can't honor the EXIT_SUCCESS and
EXIT_FAILURE flip in the traditional OpenVMS manner.  Why?  As you know
Java application are interpret byte code until compiled at runtime; thus
we (OpenVMS Java) can not truly predict the application developer's
intention to change (or flip) the return value. 

   Better question EXIT_SUCCESS & EXIT_FAILURE are "C" compile-time
options on OpenVMS what should we do if we are using Ant's fork="false"
to run a task inline?  Truly a 100% Java solution that does not touch
the native OS JVM code for returning an OS style status.  Would this
mean if fork="true" we return the flipped status codes, if fork="false"
the isFailure() method knows we should be checking for Unix
style(0=success)?

   We have to think of Java as a run-time library that allows 100% Java
applications to run on any platforms.  Given this fact I don't foresee
anyway the Java run-time library can predict what is successful and what
a failure code is.

   For example, in my last reply Javac has 5 different statuses, how you
would successfully map those results to any OpenVMS status code.  And
then apply those same mappings/meanings for all Java applications.
Remember a Java application can be network connected across platforms
(Weblogic cluster servers don't have to all OpenVMS systems, they can be
Windows, HP/UX, and/or OpenVMS in the same cluster) you must be able to
have applications from any platform interpreter the status code in the
same manner.

Here are some other applications:

Javah has the following code:
0	Success
10	Fatal error
11	Bug needs to be reported
15	Usage error

Sun's Jck test suite returns a 95 for success, and 97 for failure.

Weblogic, Tomcat... all have a different set of status codes.

As you can see I don't think internally Java can ever assume that it
knows whether the final exit status is a success or failure value.

Regards,

Powell

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


Mime
View raw message