On Thu, 2 Oct 2025 05:40:49 GMT, Henry Jen <[email protected]> wrote:

>> Since parameters is an opt-in choice, it's more reasonable to consider 
>> that's desired information and make strip parameter names an opt-in choice 
>> as well.
>> 
>> This PR changes the default behavior of --strip-debug to keep parameter 
>> names when it's available. Add opt-in mechanism,
>> via the strip-java-debug-attributes plugin by using argument 
>> `--strip-java-debug-attributes=+parameter-names`.
>> 
>> The --strip-debug option is a little bit odd, as it's a main option as well 
>> as a plugin option to enable the DefaultStripDebugPlugin, which strip native 
>> debug information on platform support the feature, and strip java debug 
>> information. In this PR, we chose to support only one mechanism to enable 
>> strip parameter names, so we would disable the embed 
>> StripJavaDebugAttributesPlugin when StripJavaDebugAttributesPlugin is 
>> enabled.
>> 
>> The StripParameterNamesTest illustrate and verify parameter names use cases, 
>> mainly focus on argument processing and the parameter names. We didn't 
>> verify the regular debug info as that's covered by existing test.
>> 
>> -- Update
>> 
>> The latest change removed the support of strip parameter names, as the 
>> MethodParameters attribute is considered necessary attribute to fulfill Java 
>> Language Spec even though this attribute is considered optional by JVM spec.
>
> Henry Jen has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   MethodParameters attribute should not be removed

test/jdk/tools/jlink/plugins/StripParameterNamesTest.java line 133:

> 131:                     .forEach(File::delete);
> 132:         }
> 133:     }

jdk.test.lib.util.FilesUtils has method for this.

test/jdk/tools/jlink/plugins/StripParameterNamesTest.java line 189:

> 187:         Process process = processBuilder.start();
> 188:         int exitCode = process.waitFor();
> 189:         var output = process.inputReader().readLine();

Have you looked into using  jdk.test.lib.process.ProcessTools?

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

PR Review Comment: https://git.openjdk.org/jdk/pull/27566#discussion_r2416845430
PR Review Comment: https://git.openjdk.org/jdk/pull/27566#discussion_r2416846080

Reply via email to