From 3c89f0f8fde867a8533f0b42c2071a68d5e51530 Mon Sep 17 00:00:00 2001 From: Csaba Kozak Date: Tue, 12 Apr 2016 21:35:07 +0200 Subject: [PATCH] Better generated source encoding support The default encoding is now UTF-8, and the encoding can be configured with the `encoding` annotation processing option. --- .../internal/AndroidAnnotationProcessor.java | 2 +- .../androidannotations/internal/Options.java | 2 ++ .../generation/CodeModelGenerator.java | 30 +++++++++++++++++-- .../generation/ResourceCodeWriter.java | 5 ++-- .../internal/generation/SourceCodeWriter.java | 5 ++-- 5 files changed, 36 insertions(+), 8 deletions(-) diff --git a/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/internal/AndroidAnnotationProcessor.java b/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/internal/AndroidAnnotationProcessor.java index c5558a0a35..a6265b7c87 100644 --- a/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/internal/AndroidAnnotationProcessor.java +++ b/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/internal/AndroidAnnotationProcessor.java @@ -229,7 +229,7 @@ private ModelProcessor.ProcessResult processAnnotations(AnnotationElements valid private void generateSources(ModelProcessor.ProcessResult processResult) throws IOException { timeStats.start("Generate Sources"); LOGGER.info("Number of files generated by AndroidAnnotations: {}", processResult.codeModel.countArtifacts()); - CodeModelGenerator modelGenerator = new CodeModelGenerator(processingEnv.getFiler(), coreVersion); + CodeModelGenerator modelGenerator = new CodeModelGenerator(processingEnv.getFiler(), coreVersion, androidAnnotationsEnv.getOptionValue(CodeModelGenerator.OPTION_ENCODING)); modelGenerator.generate(processResult); timeStats.stop("Generate Sources"); } diff --git a/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/internal/Options.java b/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/internal/Options.java index 756694962c..7169578641 100644 --- a/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/internal/Options.java +++ b/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/internal/Options.java @@ -25,6 +25,7 @@ import org.androidannotations.Option; import org.androidannotations.helper.ModelConstants; import org.androidannotations.holder.BaseGeneratedClassHolder; +import org.androidannotations.internal.generation.CodeModelGenerator; import org.androidannotations.internal.helper.AndroidManifestFinder; import org.androidannotations.internal.rclass.ProjectRClassFinder; import org.androidannotations.logger.LoggerContext; @@ -46,6 +47,7 @@ public Options(ProcessingEnvironment processingEnvironment) { addSupportedOption(LoggerContext.OPTION_LOG_APPENDER_CONSOLE); addSupportedOption(LoggerContext.OPTION_LOG_APPENDER_FILE); addSupportedOption(BaseGeneratedClassHolder.OPTION_GENERATE_FINAL_CLASSES); + addSupportedOption(CodeModelGenerator.OPTION_ENCODING); } public void addAllSupportedOptions(List