RFR: 8345431: Improve jar --validate to detect duplicate or invalid entries [v11]

Henry Jen henryjen at openjdk.org
Thu May 22 16:33:53 UTC 2025


On Thu, 22 May 2025 12:25:04 GMT, Lance Andersen <lancea at openjdk.org> wrote:

>> Non-zero could also mean negative which we currently do not do nor do,I see that going forward as part of future additions to validate
>
> We are somewhat inconsistent in documenting the exit code from our commands as many do not include any mention
> 
> A few for reference
> 
> **java command**:
> 
>> The following exit values are typically returned by the launcher when the launcher is called with the wrong arguments, serious errors, or exceptions thrown by the JVM. However, a Java application may choose to return any value by using the API call System.exit(exitValue). The values are:
> 
>     0: Successful completion
> 
>     >0: An error occurred
> 
> **jarsigner command**:
> 
>>  If there is a failure, the jarsigner command exits with code 1. If there is no failure, but there are one or more severe warnings, the jarsigner command exits with code 0 when the -strict option is not specified, or exits with the OR-value of the warning codes when the -strict is specified. If there is only informational warnings or no warning at all, the command always exits with code 0.
> 
> See https://docs.oracle.com/en/java/javase/24/docs/specs/man/jarsigner.html#errors-and-warnings for the full details
> 
> **jshell command**:
> 
>> /exit [integer-expression-snippet]
>>     Exits the tool. If no snippet is entered, the exit status is zero. If a snippet is entered and the result of the snippet is an integer, the result is used as the exit status. If an error occurs, or the result of the snippet is not an integer, an error is displayed and the tool remains active. 
> 
> `% jshell
> |  Welcome to JShell -- Version 22.0.1
> |  For an introduction type: /help intro
> 
> jshell> System.out.print("hi");
> hi
> jshell> /exit 1
> |  Goodbye (1)
>  % echo $?
> 1
> `
> So,  currently, the jdk commands use either:
> 
> - exit code
> - exit value
> - exit status
> - exit with code
> 
> I would probably go with either "exit status" or "exit value"
> 
> And as I mentioned in a prior comment we should move away from non-zero and use either '>0' as java and several unix based commands do or use "greater than 0"
> 
> **Note:**
> Other several commands such as jdeperscan do not specify the exit status value and I think we need to document the possible exit status values for the jdk commands and perhaps target this for jdk 26

For noun and verb, seems we have exit code and exit with code. Do we want to use status instead of code?
I don't have a preference as long as we can agree to one.
exit status and exit with status?

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/24430#discussion_r2102974569


More information about the core-libs-dev mailing list