Generate @apiSince and @deprecatedIn instead of literal text
This is intended for doclava and other tools to do their own rendering of the doc content to describe a deprecation level. Also renames the @since tag to @apiSince to make it less ambiguous and to not conflict with existing @since tags that are present in various docs. Also starts emitting @apiSince into package.html docs, such that there is a concept of a package API level; this is the lowest API level for any class in that package. Also makes sure we don't emit @apiSince for SystemApi docs, since we don't have accurate historical information for SystemApi and TestApi sources. Also starts writing @apiSince tags even when the since tag is 1 (e.g. for the APIs added from the beginning). This was omitted for optimization purposes earlier but is added back to make the doc generation task easier. I also added some optimizations for these two new tags since they can be merged more quickly with some special handling since they never appear in existing sources and can always be listed last in the docs. Finally, various fixes to the API lookup data base generation; this makes the generated database more closely mirror what's in android.jar, and, importantly for doc generation, properly tracks in-development APIs, such that generated docs at the moment shows up as "Q" instead of "28". Test: Unit test updated Change-Id: If25a8075dc1bb2ace184d1b4d6f19717fae2bc83
Showing
- src/main/java/com/android/tools/metalava/DocAnalyzer.kt 75 additions, 17 deletionssrc/main/java/com/android/tools/metalava/DocAnalyzer.kt
- src/main/java/com/android/tools/metalava/Driver.kt 6 additions, 2 deletionssrc/main/java/com/android/tools/metalava/Driver.kt
- src/main/java/com/android/tools/metalava/Options.kt 3 additions, 1 deletionsrc/main/java/com/android/tools/metalava/Options.kt
- src/main/java/com/android/tools/metalava/Reporter.kt 1 addition, 1 deletionsrc/main/java/com/android/tools/metalava/Reporter.kt
- src/main/java/com/android/tools/metalava/apilevels/AddApisFromCodebase.kt 68 additions, 14 deletions...m/android/tools/metalava/apilevels/AddApisFromCodebase.kt
- src/main/java/com/android/tools/metalava/apilevels/AndroidJarReader.java 13 additions, 4 deletions...om/android/tools/metalava/apilevels/AndroidJarReader.java
- src/main/java/com/android/tools/metalava/apilevels/Api.java 22 additions, 1 deletionsrc/main/java/com/android/tools/metalava/apilevels/Api.java
- src/main/java/com/android/tools/metalava/apilevels/ApiClass.java 83 additions, 4 deletions...n/java/com/android/tools/metalava/apilevels/ApiClass.java
- src/main/java/com/android/tools/metalava/apilevels/ApiElement.java 4 additions, 0 deletions...java/com/android/tools/metalava/apilevels/ApiElement.java
- src/main/java/com/android/tools/metalava/doclava1/Errors.java 1 addition, 0 deletions...main/java/com/android/tools/metalava/doclava1/Errors.java
- src/main/java/com/android/tools/metalava/model/Codebase.kt 1 addition, 1 deletionsrc/main/java/com/android/tools/metalava/model/Codebase.kt
- src/main/java/com/android/tools/metalava/model/psi/CodePrinter.kt 2 additions, 1 deletion.../java/com/android/tools/metalava/model/psi/CodePrinter.kt
- src/main/java/com/android/tools/metalava/model/psi/PsiItem.kt 64 additions, 0 deletions...main/java/com/android/tools/metalava/model/psi/PsiItem.kt
- src/test/java/com/android/tools/metalava/CompatibilityCheckTest.kt 63 additions, 0 deletions...java/com/android/tools/metalava/CompatibilityCheckTest.kt
- src/test/java/com/android/tools/metalava/DocAnalyzerTest.kt 248 additions, 18 deletionssrc/test/java/com/android/tools/metalava/DocAnalyzerTest.kt
- src/test/java/com/android/tools/metalava/DriverTest.kt 26 additions, 7 deletionssrc/test/java/com/android/tools/metalava/DriverTest.kt
- src/test/java/com/android/tools/metalava/StubsTest.kt 58 additions, 0 deletionssrc/test/java/com/android/tools/metalava/StubsTest.kt
- src/test/java/com/android/tools/metalava/apilevels/ApiGeneratorTest.kt 35 additions, 22 deletions.../com/android/tools/metalava/apilevels/ApiGeneratorTest.kt
Loading