On Fri, 17 Jul 2026 12:49:46 GMT, Severin Gehwolf <[email protected]> wrote:

>> As far as I understand the `seenPlugins` will not contain exclude-files in 
>> case it was disabled with **--disable-plugin**, because it was removed 
>> earlier from the list or haven't been on the list by default.
>> And regarding user added filtering options I would guess, it is ok to keep 
>> the debuginfo filtering in case someone added an **--exclude-files** option 
>> on the commandline - do you agree?
>
>> As far as I understand the seenPlugins will not contain exclude-files in 
>> case it was disabled with --disable-plugin, because it was removed earlier 
>> from the list or haven't been on the list by default.
> 
> Semantically, there should be no difference. Thus, I'd prefer one less extra 
> state to maintain. `seenPlugins` is guarded by `!Utils.isDisabled(plugin)`. 
> That's what we want.
> 
>> And regarding user added filtering options I would guess, it is ok to keep 
>> the debuginfo filtering in case someone added an --exclude-files option on 
>> the commandline - do you agree?
> 
> Yes. These should essentially be equivalent (on Linux):
> 
> $ jlink --exclude-files=**/bin/java,**.debuginfo 
> --strip-native-debug-symbols=exclude-debuginfo-files 
> --strip-java-debug-attributes --add-modules java.base --verbose --output 
> ./build/java.base.jdk
> 
> and
> 
> $ jlink --exclude-files=**/bin/java --strip-debug --add-modules java.base 
> --verbose --output ./build/java.base.jdk

I did not correctly express what I wanted to say in regard to:
 ` if (defaultStripDebugPlugin != null && 
!seenPlugins.contains(EXCLUDE_FILES_NAME)) {`
let me try again.

In case of:
`$ jlink --exclude-files=**/bin/java --strip-debug --add-modules java.base 
--verbose --output ./build/java.base.jdk`

`seenPlugins` will contain `EXCLUDE_FILES_NAME` and will not disable the 
--strip-debug internal exclude.

But in case of :
`$ jlink --strip-debug --add-modules java.base --verbose --output 
./build/java.base.jdk`

the `.debuginfo` files are no longer excluded. As far as I understand 
`seenPlugins` only contains "by default enabled"  plugins and therefore does 
not contain exclude-files if it is not on the commandline. Because of this, I 
guess that the additional list is needed to detect the disabled plugin.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/31690#discussion_r3603858698

Reply via email to