From 4683b14cf5fe2bf25eb8428f10a1b163d238bdf1 Mon Sep 17 00:00:00 2001 From: Jihoon Kang Date: Thu, 5 Oct 2023 23:42:51 +0000 Subject: Add module lib and test union java_api_library module Currently, hiddenapi_modular defines test api surface as a subset of module lib api surface, causing hiddenapi check failure in from-text stub build. In order to mitigate this and enable the hiddenapi check in from-text stub build, this change introduces a java_api_library module that generates the stub jar that contains both test and module lib api contributions. The module will not be available for consumption, but will only be used in hiddenapi check. Test: m android_test_module_lib_stubs_current.from-text --build-from-text-stub Bug: 191644675 Change-Id: I2b6c9f75d9ebcfd75fa5b509dbef14aa0f88ac97 --- api/StubLibraries.bp | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) (limited to 'api/StubLibraries.bp') diff --git a/api/StubLibraries.bp b/api/StubLibraries.bp index 857077d60a5d..79efaced998a 100644 --- a/api/StubLibraries.bp +++ b/api/StubLibraries.bp @@ -436,6 +436,26 @@ java_api_library { full_api_surface_stub: "android_module_lib_stubs_current_full.from-text", } +// This module generates a stub jar that is a union of the test and module lib +// non-updatable api contributions. Modules should not depend on the stub jar +// generated from this module, as this module is strictly used for hiddenapi only. +java_api_library { + name: "android-non-updatable.stubs.test_module_lib", + api_surface: "module_lib", + api_contributions: [ + "api-stubs-docs-non-updatable.api.contribution", + "system-api-stubs-docs-non-updatable.api.contribution", + "test-api-stubs-docs-non-updatable.api.contribution", + "module-lib-api-stubs-docs-non-updatable.api.contribution", + ], + defaults: ["android-non-updatable_from_text_defaults"], + full_api_surface_stub: "android_test_module_lib_stubs_current.from-text", + + // This module is only used for hiddenapi, and other modules should not + // depend on this module. + visibility: ["//visibility:private"], +} + java_defaults { name: "android_stubs_dists_default", dist: { @@ -738,6 +758,30 @@ java_api_library { visibility: ["//visibility:public"], } +java_api_library { + name: "android_test_module_lib_stubs_current.from-text", + api_surface: "module-lib", + defaults: [ + "android_stubs_current_contributions", + "android_system_stubs_current_contributions", + "android_test_stubs_current_contributions", + "android_module_lib_stubs_current_contributions", + ], + libs: [ + "android_module_lib_stubs_current_full.from-text", + "stub-annotations", + ], + api_contributions: [ + "test-api-stubs-docs-non-updatable.api.contribution", + ], + + // This module is only used to build android-non-updatable.stubs.test_module_lib + // and other modules should not depend on this module. + visibility: [ + "//visibility:private", + ], +} + java_api_library { name: "android_system_server_stubs_current.from-text", api_surface: "system-server", -- cgit v1.2.3-59-g8ed1b