summaryrefslogtreecommitdiff
path: root/java/java.go
diff options
context:
space:
mode:
author Jihoon Kang <jihoonkang@google.com> 2023-08-01 06:28:51 +0000
committer Jihoon Kang <jihoonkang@google.com> 2023-08-14 17:18:40 +0000
commit862da6f2339b30fba4b36ad8c0f39a583933266a (patch)
treeb2700e4386e28007f4ee6d6c0b795cdc60395b14 /java/java.go
parent0c705a448f5cc261dc7f3173cada0625e7e1f0fc (diff)
Add `previous_api` property to `java_api_library` module
`Previous_api` is used to migrate nullness information in metalava (i.e. convert @Nullable and @NonNull to @RecentlyNullable and @RecentlyNonNull for some methods). The input is required to generate loosely equivalent from-text stubs. Test: m && compare nullness annotations between from-source stubs and from-text stubs Bug: 293962901 Change-Id: Ic7a0868415fdb2c65d0d472e527fe73280b7651d
Diffstat (limited to 'java/java.go')
-rw-r--r--java/java.go9
1 files changed, 9 insertions, 0 deletions
diff --git a/java/java.go b/java/java.go
index 6667a52f1..70aba8e2c 100644
--- a/java/java.go
+++ b/java/java.go
@@ -1683,6 +1683,9 @@ type JavaApiLibraryProperties struct {
// extracting the compiled class files provided by the
// full_api_surface_stub module.
Full_api_surface_stub *string
+
+ // Version of previously released API file for compatibility check.
+ Previous_api *string `android:"path"`
}
func ApiLibraryFactory() android.Module {
@@ -1890,6 +1893,12 @@ func (al *ApiLibrary) GenerateAndroidBuildActions(ctx android.ModuleContext) {
al.stubsFlags(ctx, cmd, stubsDir)
+ migratingNullability := String(al.properties.Previous_api) != ""
+ if migratingNullability {
+ previousApi := android.PathForModuleSrc(ctx, String(al.properties.Previous_api))
+ cmd.FlagWithInput("--migrate-nullness ", previousApi)
+ }
+
al.stubsSrcJar = android.PathForModuleOut(ctx, "metalava", ctx.ModuleName()+"-"+"stubs.srcjar")
al.stubsJarWithoutStaticLibs = android.PathForModuleOut(ctx, "metalava", "stubs.jar")
al.stubsJar = android.PathForModuleOut(ctx, ctx.ModuleName(), fmt.Sprintf("%s.jar", ctx.ModuleName()))