This is an automated email from the ASF dual-hosted git repository.

mariofusco pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-kie-drools.git


The following commit(s) were added to refs/heads/main by this push:
     new 0e881f8c27 [kie-issues#754] Use UTF-8 on important places during 
Quarkus build (#5620)
0e881f8c27 is described below

commit 0e881f8c27fbc66aace4691e2c607f957c0ac1d3
Author: Tibor Zimányi <[email protected]>
AuthorDate: Wed Dec 13 09:17:54 2023 +0100

    [kie-issues#754] Use UTF-8 on important places during Quarkus build (#5620)
    
    * Use UTF-8 when handling files and file content.
    
    * Fix memory compiler to use UTF-8
    
    * Fix QueryGenerator to use UTF-8.
    
    * Revert selected fixes.
---
 .../src/main/java/org/drools/codegen/common/GeneratedFile.java       | 2 +-
 .../codegen/common/context/AbstractDroolsModelBuildContext.java      | 3 ++-
 .../main/java/org/drools/quarkus/deployment/ResourceCollector.java   | 5 +++--
 .../drools/quarkus/util/deployment/DroolsQuarkusResourceUtils.java   | 3 ++-
 .../src/main/java/org/kie/memorycompiler/KieMemoryCompiler.java      | 3 ++-
 .../java/org/kie/memorycompiler/jdknative/NativeJavaCompiler.java    | 2 +-
 6 files changed, 11 insertions(+), 7 deletions(-)

diff --git 
a/drools-model/drools-codegen-common/src/main/java/org/drools/codegen/common/GeneratedFile.java
 
b/drools-model/drools-codegen-common/src/main/java/org/drools/codegen/common/GeneratedFile.java
index 2d8af79e84..bd5455641e 100644
--- 
a/drools-model/drools-codegen-common/src/main/java/org/drools/codegen/common/GeneratedFile.java
+++ 
b/drools-model/drools-codegen-common/src/main/java/org/drools/codegen/common/GeneratedFile.java
@@ -93,7 +93,7 @@ public class GeneratedFile {
 
     public String toStringWithContent() {
         return "GeneratedFile{" + "path=" + path +
-                ", content='\n" + new String(contents) + "\n'}";
+                ", content='\n" + new String(contents, StandardCharsets.UTF_8) 
+ "\n'}";
     }
 
     @Override
diff --git 
a/drools-model/drools-codegen-common/src/main/java/org/drools/codegen/common/context/AbstractDroolsModelBuildContext.java
 
b/drools-model/drools-codegen-common/src/main/java/org/drools/codegen/common/context/AbstractDroolsModelBuildContext.java
index 65d28dec01..487f5f033a 100644
--- 
a/drools-model/drools-codegen-common/src/main/java/org/drools/codegen/common/context/AbstractDroolsModelBuildContext.java
+++ 
b/drools-model/drools-codegen-common/src/main/java/org/drools/codegen/common/context/AbstractDroolsModelBuildContext.java
@@ -30,6 +30,7 @@ import javax.lang.model.SourceVersion;
 import java.io.File;
 import java.io.FileReader;
 import java.io.IOException;
+import java.nio.charset.StandardCharsets;
 import java.nio.file.Paths;
 import java.text.MessageFormat;
 import java.util.Collection;
@@ -75,7 +76,7 @@ public abstract class AbstractDroolsModelBuildContext 
implements DroolsModelBuil
         Properties applicationProperties = new Properties();
 
         for (File resourcePath : resourcePaths) {
-            try (FileReader fileReader = new FileReader(new File(resourcePath, 
APPLICATION_PROPERTIES_FILE_NAME))) {
+            try (FileReader fileReader = new FileReader(new File(resourcePath, 
APPLICATION_PROPERTIES_FILE_NAME), StandardCharsets.UTF_8)) {
                 applicationProperties.load(fileReader);
             } catch (IOException ioe) {
                 LOGGER.debug("Unable to load '" + 
APPLICATION_PROPERTIES_FILE_NAME + "'.");
diff --git 
a/drools-quarkus-extension/drools-quarkus-deployment/src/main/java/org/drools/quarkus/deployment/ResourceCollector.java
 
b/drools-quarkus-extension/drools-quarkus-deployment/src/main/java/org/drools/quarkus/deployment/ResourceCollector.java
index d60b9b7199..746885d8a8 100644
--- 
a/drools-quarkus-extension/drools-quarkus-deployment/src/main/java/org/drools/quarkus/deployment/ResourceCollector.java
+++ 
b/drools-quarkus-extension/drools-quarkus-deployment/src/main/java/org/drools/quarkus/deployment/ResourceCollector.java
@@ -21,6 +21,7 @@ package org.drools.quarkus.deployment;
 import java.io.File;
 import java.io.IOException;
 import java.io.UncheckedIOException;
+import java.nio.charset.StandardCharsets;
 import java.nio.file.Files;
 import java.nio.file.Path;
 import java.util.ArrayList;
@@ -88,7 +89,7 @@ public class ResourceCollector {
                 if (resourceType == null) {
                     continue;
                 }
-                InternalResource resource = new 
ByteArrayResource(readBytesFromInputStream(zipFile.getInputStream(entry)));
+                InternalResource resource = new 
ByteArrayResource(readBytesFromInputStream(zipFile.getInputStream(entry)), 
StandardCharsets.UTF_8.name());
                 resource.setSourcePath(entry.getName());
                 resource.setResourceType(resourceType);
                 resources.add(resource);
@@ -119,7 +120,7 @@ public class ResourceCollector {
         if (resourceType == null) {
             return null;
         }
-        Resource resource = new FileSystemResource(file);
+        Resource resource = new FileSystemResource(file, 
StandardCharsets.UTF_8.name());
         resource.setResourceType(resourceType);
         return resource;
     }
diff --git 
a/drools-quarkus-extension/drools-quarkus-util-deployment/src/main/java/org/drools/quarkus/util/deployment/DroolsQuarkusResourceUtils.java
 
b/drools-quarkus-extension/drools-quarkus-util-deployment/src/main/java/org/drools/quarkus/util/deployment/DroolsQuarkusResourceUtils.java
index 9ebcb26c6d..6cd06cbdc7 100644
--- 
a/drools-quarkus-extension/drools-quarkus-util-deployment/src/main/java/org/drools/quarkus/util/deployment/DroolsQuarkusResourceUtils.java
+++ 
b/drools-quarkus-extension/drools-quarkus-util-deployment/src/main/java/org/drools/quarkus/util/deployment/DroolsQuarkusResourceUtils.java
@@ -18,6 +18,7 @@
  */
 package org.drools.quarkus.util.deployment;
 
+import java.nio.charset.StandardCharsets;
 import io.quarkus.arc.deployment.GeneratedBeanBuildItem;
 import io.quarkus.bootstrap.classloading.QuarkusClassLoader;
 import io.quarkus.deployment.annotations.BuildProducer;
@@ -174,7 +175,7 @@ public class DroolsQuarkusResourceUtils {
         Map<String, String> sourcesMap = new HashMap<>();
         for (GeneratedFile javaFile : generatedFiles) {
             if (javaFile.category() == GeneratedFileType.Category.SOURCE) {
-                sourcesMap.put(toClassName(javaFile.relativePath()), new 
String(javaFile.contents()));
+                sourcesMap.put(toClassName(javaFile.relativePath()), new 
String(javaFile.contents(), StandardCharsets.UTF_8));
             }
         }
         return sourcesMap;
diff --git 
a/kie-memory-compiler/src/main/java/org/kie/memorycompiler/KieMemoryCompiler.java
 
b/kie-memory-compiler/src/main/java/org/kie/memorycompiler/KieMemoryCompiler.java
index 4a04914faa..880029b44c 100644
--- 
a/kie-memory-compiler/src/main/java/org/kie/memorycompiler/KieMemoryCompiler.java
+++ 
b/kie-memory-compiler/src/main/java/org/kie/memorycompiler/KieMemoryCompiler.java
@@ -19,6 +19,7 @@
 package org.kie.memorycompiler;
 
 import java.net.URL;
+import java.nio.charset.StandardCharsets;
 import java.util.Arrays;
 import java.util.HashMap;
 import java.util.Map;
@@ -124,7 +125,7 @@ public class KieMemoryCompiler {
         int i = 0;
         for (Map.Entry<String, String> entry : classNameSourceMap.entrySet()) {
             classNames[i] = toJavaSource( entry.getKey() );
-            reader.add( classNames[i], entry.getValue().getBytes());
+            reader.add( classNames[i], 
entry.getValue().getBytes(StandardCharsets.UTF_8));
             i++;
         }
         JavaConfiguration javaConfiguration = new JavaConfiguration();
diff --git 
a/kie-memory-compiler/src/main/java/org/kie/memorycompiler/jdknative/NativeJavaCompiler.java
 
b/kie-memory-compiler/src/main/java/org/kie/memorycompiler/jdknative/NativeJavaCompiler.java
index a59653567c..1bd3848340 100644
--- 
a/kie-memory-compiler/src/main/java/org/kie/memorycompiler/jdknative/NativeJavaCompiler.java
+++ 
b/kie-memory-compiler/src/main/java/org/kie/memorycompiler/jdknative/NativeJavaCompiler.java
@@ -87,7 +87,7 @@ public class NativeJavaCompiler extends AbstractJavaCompiler {
         DiagnosticCollector<JavaFileObject> diagnostics = new 
DiagnosticCollector<>();
         JavaCompiler compiler = getJavaCompiler();
 
-        try (StandardJavaFileManager jFileManager = 
compiler.getStandardFileManager(diagnostics, null, null)) {
+        try (StandardJavaFileManager jFileManager = 
compiler.getStandardFileManager(diagnostics, null, 
Charset.forName(pSettings.getSourceEncoding()))) {
             try {
                 jFileManager.setLocation( StandardLocation.CLASS_PATH, 
pSettings.getClasspathLocations() );
                 jFileManager.setLocation( StandardLocation.CLASS_OUTPUT, 
Collections.singletonList(new File("target/classes")) );


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to