From 3524a23edb88f0e67352d55ac6a2919f1edf7b30 Mon Sep 17 00:00:00 2001 From: Adam Lesinski Date: Fri, 1 Apr 2016 19:19:24 -0700 Subject: AAPT2: Add option to add JavaDoc annotations to Java classes Change-Id: I7ee8c20cdd91380927a65c41097ffd3a6ffa2df5 --- tools/aapt2/java/JavaClassGenerator.cpp | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'tools/aapt2/java/JavaClassGenerator.cpp') diff --git a/tools/aapt2/java/JavaClassGenerator.cpp b/tools/aapt2/java/JavaClassGenerator.cpp index 2d076c2d5a66..092bab241bba 100644 --- a/tools/aapt2/java/JavaClassGenerator.cpp +++ b/tools/aapt2/java/JavaClassGenerator.cpp @@ -437,6 +437,15 @@ bool JavaClassGenerator::generate(const StringPiece16& packageNameToGenerate, st return generate(packageNameToGenerate, packageNameToGenerate, out); } +static void appendJavaDocAnnotations(const std::vector& annotations, + AnnotationProcessor* processor) { + for (const std::string& annotation : annotations) { + std::string properAnnotation = "@"; + properAnnotation += annotation; + processor->appendComment(properAnnotation); + } +} + bool JavaClassGenerator::generate(const StringPiece16& packageNameToGenerate, const StringPiece16& outPackageName, std::ostream* out) { @@ -477,14 +486,17 @@ bool JavaClassGenerator::generate(const StringPiece16& packageNameToGenerate, mOptions.types == JavaClassGeneratorOptions::SymbolTypes::kPublic) { // When generating a public R class, we don't want Styleable to be part of the API. // It is only emitted for documentation purposes. - AnnotationProcessor* processor = classDef->getCommentBuilder(); - processor->appendComment("@doconly"); + classDef->getCommentBuilder()->appendComment("@doconly"); } + appendJavaDocAnnotations(mOptions.javadocAnnotations, classDef->getCommentBuilder()); + rClass.addMember(std::move(classDef)); } } + appendJavaDocAnnotations(mOptions.javadocAnnotations, rClass.getCommentBuilder()); + if (!ClassDefinition::writeJavaFile(&rClass, util::utf16ToUtf8(outPackageName), mOptions.useFinal, out)) { return false; @@ -494,6 +506,4 @@ bool JavaClassGenerator::generate(const StringPiece16& packageNameToGenerate, return true; } - - } // namespace aapt -- cgit v1.2.3