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

Reply via email to