This is an automated email from the ASF dual-hosted git repository. pottlinger pushed a commit to branch feature/RAT-369 in repository https://gitbox.apache.org/repos/asf/creadur-rat.git
The following commit(s) were added to refs/heads/feature/RAT-369 by this push: new 7fee5e22 RAT-369: Fix reliance on default encoding in some JDK8-compliant settings 7fee5e22 is described below commit 7fee5e229ccae9c1e4b7a47d099865908744e273 Author: P. Ottlinger <pottlin...@apache.org> AuthorDate: Sun Apr 21 22:20:02 2024 +0200 RAT-369: Fix reliance on default encoding in some JDK8-compliant settings --- apache-rat-core/src/main/java/org/apache/rat/Report.java | 5 ++--- .../main/java/org/apache/rat/annotation/AbstractLicenseAppender.java | 3 ++- .../main/java/org/apache/rat/document/impl/ArchiveEntryDocument.java | 3 ++- .../src/main/java/org/apache/rat/document/impl/FileDocument.java | 4 +++- .../java/org/apache/rat/document/impl/MonolithicFileDocument.java | 3 ++- .../main/java/org/apache/rat/mp/util/ignore/GlobIgnoreMatcher.java | 3 ++- apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Report.java | 4 ++-- .../java/org/apache/rat/anttasks/ResourceCollectionContainer.java | 3 ++- 8 files changed, 17 insertions(+), 11 deletions(-) diff --git a/apache-rat-core/src/main/java/org/apache/rat/Report.java b/apache-rat-core/src/main/java/org/apache/rat/Report.java index 68129735..624c06df 100644 --- a/apache-rat-core/src/main/java/org/apache/rat/Report.java +++ b/apache-rat-core/src/main/java/org/apache/rat/Report.java @@ -232,7 +232,7 @@ public class Report { if (url == null) { ioSupplier = () -> Files.newInputStream(Paths.get(style[0])); } else { - ioSupplier = () -> url.openStream(); + ioSupplier = url::openStream; } configuration.setStyleSheet(ioSupplier); } @@ -285,8 +285,7 @@ public class Report { } static Options buildOptions() { - String licFilterValues = String.join(", ", - Arrays.stream(LicenseFilter.values()).map(LicenseFilter::name).collect(Collectors.toList())); + String licFilterValues = Arrays.stream(LicenseFilter.values()).map(LicenseFilter::name).collect(Collectors.joining(", ")); Options opts = new Options() diff --git a/apache-rat-core/src/main/java/org/apache/rat/annotation/AbstractLicenseAppender.java b/apache-rat-core/src/main/java/org/apache/rat/annotation/AbstractLicenseAppender.java index c1c7af9a..0d21264d 100644 --- a/apache-rat-core/src/main/java/org/apache/rat/annotation/AbstractLicenseAppender.java +++ b/apache-rat-core/src/main/java/org/apache/rat/annotation/AbstractLicenseAppender.java @@ -30,6 +30,7 @@ import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.Writer; +import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.InvalidPathException; import java.nio.file.Path; @@ -287,7 +288,7 @@ public abstract class AbstractLicenseAppender { BufferedReader br = null; try { fis = new FileInputStream(document); - br = new BufferedReader(new InputStreamReader(new BOMInputStream(fis))); + br = new BufferedReader(new InputStreamReader(new BOMInputStream(fis), StandardCharsets.UTF_8)); if (!expectsHashPling && !expectsAtEcho diff --git a/apache-rat-core/src/main/java/org/apache/rat/document/impl/ArchiveEntryDocument.java b/apache-rat-core/src/main/java/org/apache/rat/document/impl/ArchiveEntryDocument.java index f316fe6e..f9b7f174 100644 --- a/apache-rat-core/src/main/java/org/apache/rat/document/impl/ArchiveEntryDocument.java +++ b/apache-rat-core/src/main/java/org/apache/rat/document/impl/ArchiveEntryDocument.java @@ -25,6 +25,7 @@ import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.Reader; +import java.nio.charset.StandardCharsets; import org.apache.rat.api.Document; import org.apache.rat.api.MetaData; @@ -60,7 +61,7 @@ public class ArchiveEntryDocument implements Document { } public Reader reader() throws IOException { - return new InputStreamReader(new ByteArrayInputStream(contents)); + return new InputStreamReader(new ByteArrayInputStream(contents), StandardCharsets.UTF_8); } diff --git a/apache-rat-core/src/main/java/org/apache/rat/document/impl/FileDocument.java b/apache-rat-core/src/main/java/org/apache/rat/document/impl/FileDocument.java index d8d32322..d6509bcd 100644 --- a/apache-rat-core/src/main/java/org/apache/rat/document/impl/FileDocument.java +++ b/apache-rat-core/src/main/java/org/apache/rat/document/impl/FileDocument.java @@ -24,6 +24,8 @@ import java.io.FileReader; import java.io.IOException; import java.io.InputStream; import java.io.Reader; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; import org.apache.rat.api.Document; import org.apache.rat.api.MetaData; @@ -61,7 +63,7 @@ public class FileDocument implements Document { } public InputStream inputStream() throws IOException { - return new FileInputStream(file); + return Files.newInputStream(file.toPath()); } /** diff --git a/apache-rat-core/src/main/java/org/apache/rat/document/impl/MonolithicFileDocument.java b/apache-rat-core/src/main/java/org/apache/rat/document/impl/MonolithicFileDocument.java index dca7a53e..e19c5093 100644 --- a/apache-rat-core/src/main/java/org/apache/rat/document/impl/MonolithicFileDocument.java +++ b/apache-rat-core/src/main/java/org/apache/rat/document/impl/MonolithicFileDocument.java @@ -27,6 +27,7 @@ import java.io.InputStreamReader; import java.io.Reader; import java.net.URL; import java.nio.charset.StandardCharsets; +import java.nio.file.Files; import org.apache.rat.api.Document; @@ -67,6 +68,6 @@ public class MonolithicFileDocument extends AbstractMonolithicDocument { } public InputStream inputStream() throws IOException { - return new FileInputStream(file); + return Files.newInputStream(file.toPath()); } } diff --git a/apache-rat-plugin/src/main/java/org/apache/rat/mp/util/ignore/GlobIgnoreMatcher.java b/apache-rat-plugin/src/main/java/org/apache/rat/mp/util/ignore/GlobIgnoreMatcher.java index de9061bd..91ea8846 100644 --- a/apache-rat-plugin/src/main/java/org/apache/rat/mp/util/ignore/GlobIgnoreMatcher.java +++ b/apache-rat-plugin/src/main/java/org/apache/rat/mp/util/ignore/GlobIgnoreMatcher.java @@ -25,6 +25,7 @@ import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; +import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; @@ -77,7 +78,7 @@ public class GlobIgnoreMatcher implements IgnoreMatcher { if (scmIgnore != null && scmIgnore.exists() && scmIgnore.isFile()) { log.debug("Parsing exclusions from " + scmIgnore); - try (BufferedReader reader = new BufferedReader(new FileReader(scmIgnore))) { + try (BufferedReader reader = new BufferedReader(new FileReader(scmIgnore, StandardCharsets.UTF_8))) { String line; while ((line = reader.readLine()) != null) { if (!isComment(line)) { diff --git a/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Report.java b/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Report.java index 691d9d6a..fd2bedb0 100644 --- a/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Report.java +++ b/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Report.java @@ -23,6 +23,7 @@ import java.io.FilenameFilter; import java.io.PrintWriter; import java.net.MalformedURLException; import java.net.URL; +import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -296,7 +297,7 @@ public class Report extends Task { private class Logger implements Log { private void write(int level, String msg) { - try (PrintWriter pw = new PrintWriter(new LogOutputStream(Report.this, level))) + try (PrintWriter pw = new PrintWriter(new LogOutputStream(Report.this, level), false, StandardCharsets.UTF_8)) { pw.write(msg); } @@ -318,7 +319,6 @@ public class Report extends Task { write(Project.MSG_ERR, msg); break; case OFF: - break; default: break; } diff --git a/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/ResourceCollectionContainer.java b/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/ResourceCollectionContainer.java index 3b24fc73..24b4012f 100644 --- a/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/ResourceCollectionContainer.java +++ b/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/ResourceCollectionContainer.java @@ -23,6 +23,7 @@ import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.Reader; +import java.nio.charset.StandardCharsets; import org.apache.rat.api.Document; import org.apache.rat.api.MetaData; @@ -69,7 +70,7 @@ class ResourceCollectionContainer implements IReportable { @Override public Reader reader() throws IOException { final InputStream in = resource.getInputStream(); - return new InputStreamReader(in); + return new InputStreamReader(in, StandardCharsets.UTF_8); } @Override