From 10a23c29e279ebfef4869cea72a65207e8de0cab Mon Sep 17 00:00:00 2001 From: Paul Duffin Date: Fri, 11 Aug 2023 22:47:31 +0100 Subject: [PATCH] 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. Change-Id: I20c9bc151677502cf09b0c06fb442fd385caccdd --- java/droidstubs.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/java/droidstubs.go b/java/droidstubs.go index 51d36e432..f05ef1fdd 100644 --- a/java/droidstubs.go +++ b/java/droidstubs.go @@ -694,6 +694,13 @@ func (d *Droidstubs) GenerateAndroidBuildActions(ctx android.ModuleContext) { 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").