From a12addc295b2d898cd20cd26fa999bce73697d0f Mon Sep 17 00:00:00 2001 From: Anton Hansson Date: Mon, 3 Feb 2020 14:44:47 +0000 Subject: Tweak the defaults of module stubs We will have 4 stubs for each framework module: - stubs-publicapi with check_api - stubs-systemapi with check_api - api-module_api with check_api, just module_api - stubs-module_api without check_api, module_api + priv_apps This is because we want the stubs of module_api to include the priv_apps system APIs, but don't want the api .txt files to contain them. The check_api attrs will be setup later, when the individual modules have been set up to inherit these defaults correctly. Bug: 147768409 Test: m Change-Id: Ie0fbff6949c8df3d6211558de7373bddb8b95768 --- apex/Android.bp | 41 +++++++++++++++++++---------------------- 1 file changed, 19 insertions(+), 22 deletions(-) diff --git a/apex/Android.bp b/apex/Android.bp index abebfa39fada..362cf95b3832 100644 --- a/apex/Android.bp +++ b/apex/Android.bp @@ -29,6 +29,16 @@ mainline_stubs_args = // TODO: remove this server classes are cleaned up. mainline_stubs_args += "--hide-package com.android.server " +priv_apps = " " + + "--show-annotation android.annotation.SystemApi\\(" + + "client=android.annotation.SystemApi.Client.PRIVILEGED_APPS," + + "\\) " + +module_libs = " " + + " --show-annotation android.annotation.SystemApi\\(" + + "client=android.annotation.SystemApi.Client.MODULE_LIBRARIES," + + "\\) " + stubs_defaults { name: "framework-module-stubs-defaults-publicapi", args: mainline_stubs_args, @@ -37,36 +47,23 @@ stubs_defaults { stubs_defaults { name: "framework-module-stubs-defaults-systemapi", - args: mainline_stubs_args + - " --show-annotation android.annotation.SystemApi\\(" + - "client=android.annotation.SystemApi.Client.PRIVILEGED_APPS," + - "process=android.annotation.SystemApi.Process.ALL\\) ", + args: mainline_stubs_args + priv_apps, installable: false, } +// The defaults for module_libs comes in two parts - defaults for API checks +// and defaults for stub generation. This is because we want the API txt +// files to *only* include the module_libs_api, but the stubs to include +// module_libs_api as well as priv_apps. + stubs_defaults { - name: "framework-module-stubs-defaults-module_apps_api", - args: mainline_stubs_args + - " --show-annotation android.annotation.SystemApi\\(" + - "client=android.annotation.SystemApi.Client.PRIVILEGED_APPS," + - "process=android.annotation.SystemApi.Process.ALL\\) " + - " --show-annotation android.annotation.SystemApi\\(" + - "client=android.annotation.SystemApi.Client.MODULE_APPS," + - "process=android.annotation.SystemApi.Process.ALL\\) ", + name: "framework-module-api-defaults-module_libs_api", + args: mainline_stubs_args + module_libs, installable: false, } stubs_defaults { name: "framework-module-stubs-defaults-module_libs_api", - args: mainline_stubs_args + - " --show-annotation android.annotation.SystemApi\\(" + - "client=android.annotation.SystemApi.Client.PRIVILEGED_APPS," + - "process=android.annotation.SystemApi.Process.ALL\\) " + - " --show-annotation android.annotation.SystemApi\\(" + - "client=android.annotation.SystemApi.Client.MODULE_APPS," + - "process=android.annotation.SystemApi.Process.ALL\\) " + - " --show-annotation android.annotation.SystemApi\\(" + - "client=android.annotation.SystemApi.Client.MODULE_LIBRARIES," + - "process=android.annotation.SystemApi.Process.ALL\\) ", + args: mainline_stubs_args + module_libs + priv_apps, installable: false, } -- cgit v1.2.3-59-g8ed1b