Support @RequiresFeature, -sdkvalues, etc
This CL includes a number of changes to metalava: - Track recent features added to doclava, such as (a) supporting the @RequiresFeature annotation to insert special documentation comments which links to the required feature and how to check for it (b) omitting "final" from methods in signatures where the surrounding class is also final - Changing the way relative references are handled in javadocs. Previously, metalava attempted to rewrite all javadocs to use fully qualified references in all cases, such that running javadoc on the stubs themselves would work (and since the rest of the stubs are using fully qualified references). However, the javadoc rewriting was a bit brittle, so instead leave the docs alone and include all the import statements from the original code instead (limited to the imports for classes/methods that are part of the API that is.) - Add support for the -sdkvalues flag from doclava1: this basically ports the code which lets metalva emit the various SDK files in platforms/android-X/data/ such as broadcast_actions.txt and widgets.txt. - Fixing the markdown formatting to correctly handle tables in gitiles - Allow for all compatibility flags to be specified from the command line Test: Unit tests included & updated Change-Id: Idb13fe42a746cfeebabf65a3c4b4c912fbd22e0e
Showing
- README.md 9 additions, 4 deletionsREADME.md
- build.gradle 2 additions, 2 deletionsbuild.gradle
- src/main/java/com/android/tools/metalava/AnnotationStatistics.kt 16 additions, 3 deletions...n/java/com/android/tools/metalava/AnnotationStatistics.kt
- src/main/java/com/android/tools/metalava/ApiAnalyzer.kt 24 additions, 1 deletionsrc/main/java/com/android/tools/metalava/ApiAnalyzer.kt
- src/main/java/com/android/tools/metalava/Compatibility.kt 9 additions, 1 deletionsrc/main/java/com/android/tools/metalava/Compatibility.kt
- src/main/java/com/android/tools/metalava/Constants.kt 25 additions, 0 deletionssrc/main/java/com/android/tools/metalava/Constants.kt
- src/main/java/com/android/tools/metalava/DocAnalyzer.kt 38 additions, 2 deletionssrc/main/java/com/android/tools/metalava/DocAnalyzer.kt
- src/main/java/com/android/tools/metalava/DocLevel.kt 26 additions, 0 deletionssrc/main/java/com/android/tools/metalava/DocLevel.kt
- src/main/java/com/android/tools/metalava/Driver.kt 26 additions, 17 deletionssrc/main/java/com/android/tools/metalava/Driver.kt
- src/main/java/com/android/tools/metalava/Options.kt 102 additions, 6 deletionssrc/main/java/com/android/tools/metalava/Options.kt
- src/main/java/com/android/tools/metalava/SdkFileWriter.kt 300 additions, 0 deletionssrc/main/java/com/android/tools/metalava/SdkFileWriter.kt
- src/main/java/com/android/tools/metalava/StubWriter.kt 21 additions, 9 deletionssrc/main/java/com/android/tools/metalava/StubWriter.kt
- src/main/java/com/android/tools/metalava/doclava1/ApiFile.java 9 additions, 6 deletions...ain/java/com/android/tools/metalava/doclava1/ApiFile.java
- src/main/java/com/android/tools/metalava/doclava1/ApiInfo.kt 3 additions, 2 deletionssrc/main/java/com/android/tools/metalava/doclava1/ApiInfo.kt
- src/main/java/com/android/tools/metalava/doclava1/ApiPredicate.kt 1 addition, 1 deletion.../java/com/android/tools/metalava/doclava1/ApiPredicate.kt
- src/main/java/com/android/tools/metalava/model/AnnotationItem.kt 8 additions, 5 deletions...n/java/com/android/tools/metalava/model/AnnotationItem.kt
- src/main/java/com/android/tools/metalava/model/ClassItem.kt 3 additions, 3 deletionssrc/main/java/com/android/tools/metalava/model/ClassItem.kt
- src/main/java/com/android/tools/metalava/model/CompilationUnit.kt 1 addition, 1 deletion.../java/com/android/tools/metalava/model/CompilationUnit.kt
- src/main/java/com/android/tools/metalava/model/Item.kt 1 addition, 5 deletionssrc/main/java/com/android/tools/metalava/model/Item.kt
- src/main/java/com/android/tools/metalava/model/ModifierList.kt 27 additions, 0 deletions...ain/java/com/android/tools/metalava/model/ModifierList.kt
Loading
Please register or sign in to comment