On Thu, 12 Dec 2024 07:44:50 GMT, Christian Stein <[email protected]> wrote:
>> Please review this change for the `jar` tool to gracefully handle the case
>> where `--release` is not specified as the last arguments.
>>
>> Prior to this commit, operation modes `-d --describe-module` and
>> `--validate` expected to read the optional `--release` option as a file
>> argument: `jar -d -f a.jar --release 9`
>> By adding a hidden GNU-style `--release` option, processing the optional
>> arguments before in those two operation modes, the position is now no longer
>> required to trail behind the `-f --file` option: `jar -d --release 9 -f
>> a.jar`
>>
>>
>> ==============================
>> Test summary
>> ==============================
>> TEST TOTAL PASS FAIL ERROR
>> jtreg:test/jdk/tools/jar 26 26 0 0
>> ==============================
>> TEST SUCCESS
>
> Christian Stein has updated the pull request incrementally with one
> additional commit since the last revision:
>
> Add two more valid use-cases
src/jdk.jartool/share/classes/sun/tools/jar/GNUStyleOptions.java line 231:
> 229: boolean isHidden() { return true; }
> 230: },
> 231: new Option(true, OptionType.OTHER, "--release") {
I think we should create a new `OptionType` for this one. If this is put under
`OTHER`, then it will end up like this in the help text:
Other options:
-?, -h, --help[:compat] Give this, or optionally the compatibility, help
--help-extra Give help on extra options
--version Print program version
--release
That wouldn't be the right place for this option. Instead, I think we should
create a `DESCRIBE_MODULE_OR_VALIDATE` `OptionType` and configure the necessary
help text for that group and include `--release` option under that. That way it
will show up something like:
Operation modifiers valid only in describe module and validate mode:
--release=VERSION ...
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/22079#discussion_r1890458538