RFR: 8234835 Use UTF-8 charset in make support Java code
Jonathan Gibbons
jonathan.gibbons at oracle.com
Thu Dec 5 00:24:16 UTC 2019
+1 for the change. +1 for Martin's suggestion for an additional comment.
-- Jon
On 12/4/19 3:52 PM, Martin Buchholz wrote:
> Looks good ... but please add a comment pointing to
> https://pandoc.org/MANUAL.html
> """Pandoc uses the UTF-8 character encoding for both input and output."""
>
> On Wed, Dec 4, 2019 at 3:30 PM Dan Smith <daniel.smith at oracle.com
> <mailto:daniel.smith at oracle.com>> wrote:
>
> > On Dec 3, 2019, at 5:24 PM, Jonathan Gibbons
> <jonathan.gibbons at oracle.com <mailto: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