Loading tools/aapt2/java/JavaClassGenerator.cpp +14 −4 Original line number Diff line number Diff line Loading @@ -437,6 +437,15 @@ bool JavaClassGenerator::generate(const StringPiece16& packageNameToGenerate, st return generate(packageNameToGenerate, packageNameToGenerate, out); } static void appendJavaDocAnnotations(const std::vector<std::string>& 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) { Loading Loading @@ -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; Loading @@ -494,6 +506,4 @@ bool JavaClassGenerator::generate(const StringPiece16& packageNameToGenerate, return true; } } // namespace aapt tools/aapt2/java/JavaClassGenerator.h +5 −0 Original line number Diff line number Diff line Loading @@ -44,6 +44,11 @@ struct JavaClassGeneratorOptions { }; SymbolTypes types = SymbolTypes::kAll; /** * A list of JavaDoc annotations to add to the comments of all generated classes. */ std::vector<std::string> javadocAnnotations; }; /* Loading tools/aapt2/link/Link.cpp +11 −0 Original line number Diff line number Diff line Loading @@ -66,6 +66,7 @@ struct LinkOptions { bool staticLib = false; bool noStaticLibPackages = false; bool generateNonFinalIds = false; std::vector<std::string> javadocAnnotations; bool outputToDirectory = false; bool autoAddOverlay = false; bool doNotCompressAnything = false; Loading Loading @@ -775,6 +776,13 @@ public: return true; } // Add any JavaDoc annotations to the generated class. for (const std::string& annotation : mOptions.javadocAnnotations) { std::string properAnnotation = "@"; properAnnotation += annotation; manifestClass->getCommentBuilder()->appendComment(properAnnotation); } const std::string packageUtf8 = util::utf16ToUtf8(mContext->getCompilationPackage()); std::string outPath = mOptions.generateJavaClassPath.value(); Loading Loading @@ -1292,6 +1300,7 @@ public: if (mOptions.generateJavaClassPath) { JavaClassGeneratorOptions options; options.types = JavaClassGeneratorOptions::SymbolTypes::kAll; options.javadocAnnotations = mOptions.javadocAnnotations; if (mOptions.staticLib || mOptions.generateNonFinalIds) { options.useFinal = false; Loading Loading @@ -1432,6 +1441,8 @@ int link(const std::vector<StringPiece>& args) { &customJavaPackage) .optionalFlagList("--extra-packages", "Generate the same R.java but with different " "package names", &extraJavaPackages) .optionalFlagList("--add-javadoc-annotation", "Adds a JavaDoc annotation to all " "generated Java classes", &options.javadocAnnotations) .optionalSwitch("--auto-add-overlay", "Allows the addition of new resources in " "overlays without <add-resource> tags", &options.autoAddOverlay) .optionalFlag("--rename-manifest-package", "Renames the package in AndroidManifest.xml", Loading Loading
tools/aapt2/java/JavaClassGenerator.cpp +14 −4 Original line number Diff line number Diff line Loading @@ -437,6 +437,15 @@ bool JavaClassGenerator::generate(const StringPiece16& packageNameToGenerate, st return generate(packageNameToGenerate, packageNameToGenerate, out); } static void appendJavaDocAnnotations(const std::vector<std::string>& 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) { Loading Loading @@ -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; Loading @@ -494,6 +506,4 @@ bool JavaClassGenerator::generate(const StringPiece16& packageNameToGenerate, return true; } } // namespace aapt
tools/aapt2/java/JavaClassGenerator.h +5 −0 Original line number Diff line number Diff line Loading @@ -44,6 +44,11 @@ struct JavaClassGeneratorOptions { }; SymbolTypes types = SymbolTypes::kAll; /** * A list of JavaDoc annotations to add to the comments of all generated classes. */ std::vector<std::string> javadocAnnotations; }; /* Loading
tools/aapt2/link/Link.cpp +11 −0 Original line number Diff line number Diff line Loading @@ -66,6 +66,7 @@ struct LinkOptions { bool staticLib = false; bool noStaticLibPackages = false; bool generateNonFinalIds = false; std::vector<std::string> javadocAnnotations; bool outputToDirectory = false; bool autoAddOverlay = false; bool doNotCompressAnything = false; Loading Loading @@ -775,6 +776,13 @@ public: return true; } // Add any JavaDoc annotations to the generated class. for (const std::string& annotation : mOptions.javadocAnnotations) { std::string properAnnotation = "@"; properAnnotation += annotation; manifestClass->getCommentBuilder()->appendComment(properAnnotation); } const std::string packageUtf8 = util::utf16ToUtf8(mContext->getCompilationPackage()); std::string outPath = mOptions.generateJavaClassPath.value(); Loading Loading @@ -1292,6 +1300,7 @@ public: if (mOptions.generateJavaClassPath) { JavaClassGeneratorOptions options; options.types = JavaClassGeneratorOptions::SymbolTypes::kAll; options.javadocAnnotations = mOptions.javadocAnnotations; if (mOptions.staticLib || mOptions.generateNonFinalIds) { options.useFinal = false; Loading Loading @@ -1432,6 +1441,8 @@ int link(const std::vector<StringPiece>& args) { &customJavaPackage) .optionalFlagList("--extra-packages", "Generate the same R.java but with different " "package names", &extraJavaPackages) .optionalFlagList("--add-javadoc-annotation", "Adds a JavaDoc annotation to all " "generated Java classes", &options.javadocAnnotations) .optionalSwitch("--auto-add-overlay", "Allows the addition of new resources in " "overlays without <add-resource> tags", &options.autoAddOverlay) .optionalFlag("--rename-manifest-package", "Renames the package in AndroidManifest.xml", Loading