RFR: 8234835 Use UTF-8 charset in make support Java code
Erik Joelsson
erik.joelsson at oracle.com
Thu Dec 5 17:03:01 UTC 2019
I'm fine with this.
/Erik
On 2019-12-04 15:30, Dan Smith wrote:
>> On Dec 3, 2019, at 5:24 PM, Jonathan Gibbons <jonathan.gibbons at oracle.com> wrote:
>>
>> Hi Dan,
>>
>> I think it's a combination of oral tradition and long-standing precedent.
>>
>> Earlier this year, I raised this general issue, partly because of inconsistent use of -encoding in the build system. The response was that there was some concern that not all tools in the tool chain could handle UTF-8 files.
>>
>> $ find open/make -name \*.gmk | xargs grep -o -e '-encoding [^ ]*'
>> open/make/Docs.gmk:-encoding ISO-8859-1
>> open/make/Docs.gmk:-encoding ISO-8859-1
>> open/make/common/SetupJavaCompilers.gmk:-encoding ascii
>> open/make/common/SetupJavaCompilers.gmk:-encoding ascii
>>
>> I think we should be consistent, but (at the time) it did not seem worth pushing for UTF-8 everywhere.
> Yeah, I think I'll join you in not being ready for this crusade. Might be nice, but will require broad familiarity with everything in the JDK that touches text.
>
> Instead, I'm happy to assert that, within the small space of spec processing tools, we need to support UTF-8, and so target my changeset to just the fixuppandoc tool.
>
> Can I get a review on this specific change?:
>
> -----
>
> diff -r 8c4c358272a9 -r 4c0e6c85037c make/jdk/src/classes/build/tools/fixuppandoc/Main.java
> --- a/make/jdk/src/classes/build/tools/fixuppandoc/Main.java Fri Nov 15 20:39:26 2019 +0800
> +++ b/make/jdk/src/classes/build/tools/fixuppandoc/Main.java Wed Dec 04 16:24:25 2019 -0700
> @@ -46,6 +46,7 @@
> import java.util.Set;
> import java.util.regex.Matcher;
> import java.util.regex.Pattern;
> +import static java.nio.charset.StandardCharsets.UTF_8;
>
> /**
> * Fixup HTML generated by pandoc.
> @@ -184,7 +185,7 @@
> if (inFile != null) {
> read(inFile);
> } else {
> - read(new BufferedReader(new InputStreamReader(System.in)));
> + read(new BufferedReader(new InputStreamReader(System.in, UTF_8)));
> }
> }
> }
> @@ -198,9 +199,9 @@
> */
> private Writer openWriter(Path file) throws IOException {
> if (file != null) {
> - return Files.newBufferedWriter(file);
> + return Files.newBufferedWriter(file, UTF_8);
> } else {
> - return new BufferedWriter(new OutputStreamWriter(System.out) {
> + return new BufferedWriter(new OutputStreamWriter(System.out, UTF_8) {
> @Override
> public void close() throws IOException {
> flush();
> @@ -615,7 +616,7 @@
> * @param file the file
> */
> void read(Path file) {
> - try (Reader r = Files.newBufferedReader(file)) {
> + try (Reader r = Files.newBufferedReader(file, UTF_8)) {
> this.file = file;
> read(r);
> } catch (IOException e) {
>
More information about the build-dev
mailing list