According to [the 
specification](https://docs.oracle.com/en/java/javase/19/docs/api/java.base/java/util/Properties.html#load(java.io.Reader))
 trailing whitespaces in the values of properties files are (somewhat 
surprisingly) actually significant.

We have multiple files in the JDK with trailing whitespaces in the values. For 
most of this files, this is likely incorrect and due to oversight, but in a few 
cases it might actually be intended (like "The value is: ").

After a discussion in the PR for 
[JDK-8295729](https://bugs.openjdk.org/browse/JDK-8295729), the consensus was 
to replace valid trailing spaces with the corresponding unicode sequence, 
`\u0020`. (And of course remove non-wanted trailing spaces.)

Doing so has a dual benefit:

1) It makes it clear to everyone reading the code that there is a trailing 
space and it is intended

2) It will allow us to remove all actual trailing space characters, and turn on 
the corresponding check in jcheck to keep the properties files, just like all 
other source code files, free of trailing spaces.

Ultimately, the call of whether a trailing space is supposed to be there, or is 
a bug, lies with the respective component teams owning these files. Thus I have 
split up the set of properties files with trailing spaces in several groups, to 
match the JDK teams, and open a JBS issue for each of them. This issue is for 
code I believe belong with the core-libs team.

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

Commit messages:
 - 8298045: Fix hidden but significant trailing whitespace in properties files 
for core-libs code

Changes: https://git.openjdk.org/jdk/pull/11489/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=11489&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8298045
  Stats: 308 lines in 78 files changed: 0 ins; 0 del; 308 mod
  Patch: https://git.openjdk.org/jdk/pull/11489.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/11489/head:pull/11489

PR: https://git.openjdk.org/jdk/pull/11489

Reply via email to