Generated java files should always be UTF8-encoded,
as that is what our maven settings enforce.
Therefore we cannot rely on JVM-default encoding, but
have to force file output to be UTF8.
Change-Id: Ie24f753fda3ab4d71ec951cf7b725b97678bae7a
Signed-off-by: Robert Varga <rovarga@cisco.com>
(cherry picked from commit
d2b401cc036c53685dcd076a406a13f348ca5102)
import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.ImmutableSet.Builder;
-
import java.io.BufferedWriter;
import java.io.File;
import java.io.IOException;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
+import java.nio.charset.StandardCharsets;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Set;
-
import org.apache.maven.project.MavenProject;
import org.opendaylight.yangtools.binding.generator.util.BindingGeneratorUtil;
import org.opendaylight.yangtools.sal.binding.generator.api.BindingGenerator;
private File writeFile(final File file, final String source) {
try (final OutputStream stream = buildContext.newFileOutputStream(file)) {
- try (final Writer fw = new OutputStreamWriter(stream)) {
+ try (final Writer fw = new OutputStreamWriter(stream, StandardCharsets.UTF_8)) {
try (final BufferedWriter bw = new BufferedWriter(fw)) {
bw.write(source);
}
import java.io.File
import java.io.IOException
import java.io.OutputStreamWriter
+import java.nio.charset.StandardCharsets
import java.text.SimpleDateFormat
import java.util.ArrayList
import java.util.Collection
this.ctx = ctx;
module.imports.forEach[importModule | this.imports.put(importModule.prefix, importModule.moduleName)]
try {
- val fw = new OutputStreamWriter(CTX.newFileOutputStream(destination))
+ val fw = new OutputStreamWriter(CTX.newFileOutputStream(destination), StandardCharsets.UTF_8)
val bw = new BufferedWriter(fw)
currentModule = module;
bw.append(generate(module, ctx));
import java.io.File
import java.io.OutputStreamWriter
import java.net.URI
+import java.nio.charset.StandardCharsets
import java.util.ArrayList
import java.util.HashSet
import java.util.List
this.module = module
val destination = new File(path, '''«module.name».wadl''')
- val fw = new OutputStreamWriter(CTX.newFileOutputStream(destination))
+ val fw = new OutputStreamWriter(CTX.newFileOutputStream(destination), StandardCharsets.UTF_8)
val bw = new BufferedWriter(fw)
bw.append(application);
bw.close();
*/
package org.opendaylight.yangtools.sal.java.api.generator;
+import com.google.common.base.Preconditions;
import java.io.BufferedWriter;
import java.io.File;
import java.io.IOException;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
+import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
-
import org.opendaylight.yangtools.sal.binding.model.api.CodeGenerator;
import org.opendaylight.yangtools.sal.binding.model.api.GeneratedTransferObject;
import org.opendaylight.yangtools.sal.binding.model.api.Type;
import org.sonatype.plexus.build.incremental.BuildContext;
import org.sonatype.plexus.build.incremental.DefaultBuildContext;
-import com.google.common.base.Preconditions;
-
/**
* Generates files with JAVA source codes for every specified type.
*
}
try (final OutputStream stream = buildContext.newFileOutputStream(file)) {
- try (final Writer fw = new OutputStreamWriter(stream)) {
+ try (final Writer fw = new OutputStreamWriter(stream, StandardCharsets.UTF_8)) {
try (final BufferedWriter bw = new BufferedWriter(fw)) {
bw.write(generatedCode);
}