On Wed, 26 Nov 2025 07:54:27 GMT, Ana Maria Mihalceanu <[email protected]> wrote:
>> This PR looks into aligning the behavior and documentation for `--compress`
>> option and plugin of `jlink`:
>>
>> - When an user provides `-c {0|1|2}` to `jlink`, then the tool should
>> process it as when receiving `--compress={0|1|2}`. As these values are now
>> deprecated, a warning should be issued to the end user.
>> - When an user provides `-c zip-[0-9]` to `jlink`, then the tool should
>> process it as when receiving `--compress=zip-[0-9]`.
>> - When no compression level is given, meaning the `jlink` command does not
>> contain either `-c` or `--compress` with a value, the default level selected
>> is `zip-6`.
>> - The `--compress` option description reflects above behavior and warns that
>> previous compression levels are deprecated to be removed in a future release.
>> - The `--plugin` option description reflects the implementation behavior and
>> warns that previous compression levels are deprecated to be removed in a
>> future release.
>>
>> Some implementation details and choices:
>> - While current `jlink` man page states that the tool supports `-c={0|1|2}`,
>> I inspired myself on how `javac` supports the shortened options
>> https://docs.oracle.com/en/java/javase/25/docs/specs/man/javac.html#options.
>> - While `-c 0` and `--compress=0` produce the same compression level as of
>> `zip-0`, I preferred not to tie the new compression level to the old value
>> for the option. I believe that this approach would make it easier/cleaner to
>> remove the code for the deprecated values (when their time comes).
>> - While `-c 2` and `--compress=2` produce the same compression level as of
>> `zip-6`, I preferred not to tie the new compression level to the old value
>> for the option. I believe that this approach would make it easier/cleaner to
>> remove the code for the deprecated values (when their time comes).
>> - As I didn't affect the actual compression implementation, only the
>> options, I tested only how the options are mapped. The actual set and
>> validation of the options was not affected, hence I didn't change those
>> tests.
>
> Ana Maria Mihalceanu has updated the pull request incrementally with one
> additional commit since the last revision:
>
> Revert change addressed in another bug and move bug IDs.
Overall this looks good to me. Just a few final things - I spoke with Alan and
we agreed that the JBS issue title would need an update. I updated that a few
minutes back. Please also update this PR title to match that one.
Then the plugin.properties in this PR will need a copyright year update (2023
needs to be changed to 2025). I missed it in the previous rounds of review.
Finally, given the change we have done in this PR, we will need a CSR for this.
I've marked this PR as requiring one. If you have created a CSR previously,
here are the instructions to do so https://wiki.openjdk.org/display/csr/Main.
If you need help with the CSR, let us know and one of us can help.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/28359#issuecomment-3580127023