On Tue, 3 Feb 2026 23:06:31 GMT, Alexander Matveev <[email protected]> wrote:
>> src/jdk.jpackage/share/classes/jdk/jpackage/internal/util/RuntimeVersionReader.java
>> line 47:
>>
>>> 45: String version = props.getProperty("JAVA_VERSION");
>>> 46: if (version != null) {
>>> 47: version = version.replaceAll("^\"|\"$", "");
>>
>> Why does this function filter the value of the "JAVA_VERSION" property?
>>
>> It should not do any filtering; it should just read the value as its name
>> suggests.
>>
>> Filering is platform-specific and should be a separate method.
>
> For some reason `JAVA_VERSION` is set to quoted string and `getProperty()`
> will return `"27"` instead of `27`. I think `"` is not truly part of version
> string and `replaceAll()` removes it. I do not think that removing leading
> and trailing `"` should be platform specific.
Please add a comment explaining this.
We also need a test case where the property value is not enclosed in double
quotes.
Makes me wonder: is java.util.Properties the correct choice for reading the
"release" file?
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/29260#discussion_r2762011038