platform_build_soong/sdk
Paul Duffin 5cca7c44e5 Support hidden API processing for modules that use platform APIs
Previously, hidden API processing could only be done by those
bootclasspath_fragment modules that either did not depend on any other
fragments (e.g. art-bootclasspath-fragment) or only depended on APIs
provided by other fragments (e.g. i18n-bootclasspath-fragment). That
meant that modules like com.android.os.statsd-bootclasspath-fragment
that depended on APIs provided by parts of the platform which are not
yet part of another bootclasspath_fragment could not perform hidden
API processing.

This change adds support for a bootclasspath_fragment to specify the
additional stubs needed to perform hidden API processing. It adds a new
additional_stubs property that can be used to specify the additional
stub libraries.

Most bootclasspath_fragments that need to use the property will need
access to the APIs provided by the android-non-updatable.* libraries.
Rather than have each fragment explicitly specify the correct module
for each scope it treats "android-non-updatable" as if it was a
java_sdk_library that can provide different jars for each scope.
Soong will handle mapping that to the correct android-non-updatable.*
module.

Bug: 179354495
Test: m out/soong/hiddenapi/hiddenapi-flags.csv \
        out/soong/hiddenapi/hiddenapi-index.csv \
        out/soong/hiddenapi/hiddenapi-stub-flags.txt \
        out/soong/hiddenapi/hiddenapi-unsupported.csv
      - make sure that this change does not change the contents.
      m TARGET_BUILD_APPS=Calendar nothing
Change-Id: Ia8b79830ed0e6d42100de03d76b0c51b7f6c8ade
2021-06-25 16:20:19 +01:00
..
Android.bp Add baseline test for license with sdk 2021-05-11 08:24:59 +01:00
bootclasspath_fragment_sdk_test.go Ensure consistent APEX variation for java_sdk_library and java_sdk_library_import 2021-06-24 13:33:01 +01:00
bp.go Add support for name-less modules and property comments 2021-05-11 01:00:12 +01:00
bp_test.go Replace AssertPanic with AssertPanicMessageContains 2021-03-20 12:08:51 +00:00
cc_sdk_test.go Make sdk tests more realistic 2021-05-06 23:13:06 +01:00
compat_config_sdk_test.go Filter duplicate modules in platform_compat_config_singleton 2021-03-25 12:53:25 +00:00
exports.go Extract sdk registration code into function for reuse 2021-03-09 23:03:45 +00:00
exports_test.go Migrate sdk tests away from checkAndroidBpContents 2021-04-16 18:48:20 +01:00
java_sdk_test.go Remove duplicate component from sdk snapshot 2021-06-23 21:38:14 +01:00
license_sdk_test.go Add package module to sdk snapshot that contains licenses 2021-05-11 08:38:30 +01:00
sdk.go Allow an sdk member type not to provide a bp property 2021-05-11 01:00:06 +01:00
sdk_test.go Add SOONG_SDK_SNAPSHOT_VERSION support 2021-05-12 22:14:32 +01:00
testing.go Add SOONG_SDK_SNAPSHOT_VERSION support 2021-05-12 22:14:32 +01:00
update.go Support hidden API processing for modules that use platform APIs 2021-06-25 16:20:19 +01:00