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
This commit is contained in:
Paul Duffin 2023-08-11 22:47:31 +01:00
parent a405301f03
commit 10a23c29e2

View file

@ -694,6 +694,13 @@ func (d *Droidstubs) GenerateAndroidBuildActions(ctx android.ModuleContext) {
cmd.FlagWithArg("--error-message:compatibility:released ", msg) 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 { if generateStubs {
rule.Command(). rule.Command().
BuiltTool("soong_zip"). BuiltTool("soong_zip").