Pass the current API file to the metalava --use-same-format-as option
That will allow the format of a file to be changed by simply modifying
the signature format in the current API file (e.g. from `2.0` to `3.0`)
and then running `m update-api` and it will just update the current API
file (and the corresponding removed API file).
Bug: 295577788
Test: m checkapi && m update-api
# Also did as described above and modified the
# `libcore/api/current.txt` file from `2.0` to `3.0` and ran
# `m update-api` and checked that only that file and the
# corresponding `removed.text` file was changed.
(cherry picked from https://android-review.googlesource.com/q/commit:10a23c29e279ebfef4869cea72a65207e8de0cab)
Merged-In: I20c9bc151677502cf09b0c06fb442fd385caccdd
Change-Id: I20c9bc151677502cf09b0c06fb442fd385caccdd
diff --git a/java/droidstubs.go b/java/droidstubs.go
index 9379b88..6e43b32 100644
--- a/java/droidstubs.go
+++ b/java/droidstubs.go
@@ -695,6 +695,13 @@
cmd.FlagWithArg("--error-message:compatibility:released ", msg)
}
+ if apiCheckEnabled(ctx, d.properties.Check_api.Current, "current") {
+ // Pass the current API file into metalava so it can use it as the basis for determining how to
+ // generate the output signature files (both api and removed).
+ currentApiFile := android.PathForModuleSrc(ctx, String(d.properties.Check_api.Current.Api_file))
+ cmd.FlagWithInput("--use-same-format-as ", currentApiFile)
+ }
+
if generateStubs {
rule.Command().
BuiltTool("soong_zip").