From 887efdd779ecf6b264ea1ca510e47ef74d66f03c Mon Sep 17 00:00:00 2001 From: Paul Duffin Date: Wed, 14 Sep 2022 16:37:12 +0100 Subject: Separate hidden API flag info for sdk from platform_bootclasspath Previously, the sdk snapshot and platform_bootclasspath both used the HiddenAPIInfo/Provider to retrieve the hidden API related information they needed. This change separates them by adding a new HiddenAPIInfoForSdk/Provider that is used to provide the information needed by the sdk snapshot. This allows a follow up change to generate different information for the sdk and for the platform depending on the target build release of the sdk snapshot. Bug: 240406019 Test: packages/modules/common/build/mainline_modules_sdks.sh # Ran the previous command with and without this change to make # sure that this change does not change the sdk snapshot # contents. Change-Id: I30cea6cf8dae1be467b7063430d6197e5baa684b --- java/hiddenapi_modular.go | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'java/hiddenapi_modular.go') diff --git a/java/hiddenapi_modular.go b/java/hiddenapi_modular.go index 08e684c3b..af1188903 100644 --- a/java/hiddenapi_modular.go +++ b/java/hiddenapi_modular.go @@ -594,6 +594,23 @@ func (i *HiddenAPIInfo) FlagSubset() SignatureCsvSubset { var HiddenAPIInfoProvider = blueprint.NewProvider(HiddenAPIInfo{}) +// HiddenAPIInfoForSdk contains information provided by the hidden API processing for use +// by the sdk snapshot. +// +// That includes paths resolved from HiddenAPIFlagFileProperties and also generated by hidden API +// processing. +type HiddenAPIInfoForSdk struct { + // FlagFilesByCategory maps from the flag file category to the paths containing information for + // that category. + FlagFilesByCategory FlagFilesByCategory + + // The output from the hidden API processing needs to be made available to other modules. + HiddenAPIFlagOutput +} + +// Provides hidden API info for the sdk snapshot. +var HiddenAPIInfoForSdkProvider = blueprint.NewProvider(HiddenAPIInfoForSdk{}) + // ModuleStubDexJars contains the stub dex jars provided by a single module. // // It maps a *HiddenAPIScope to the path to stub dex jars appropriate for that scope. See -- cgit v1.2.3-59-g8ed1b