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]