platform_build_soong/apex
Paul Duffin b3821fea38 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
Merged-In: Ia8b79830ed0e6d42100de03d76b0c51b7f6c8ade
Change-Id: Ia8b79830ed0e6d42100de03d76b0c51b7f6c8ade
(cherry picked from commit 5cca7c44e5)
2021-06-25 21:59:28 +01:00
..
Android.bp Add ClasspathElement support 2021-06-18 21:02:10 +01:00
androidmk.go Ignore cc.Module.HideFromMake when producing flattened apex Android.mk entries 2021-04-29 13:54:49 -07:00
apex.go Merge "Set default value of generate_hashtree property to true" into sc-dev 2021-06-19 00:12:16 +00:00
apex_singleton.go Merge changes from topic "move_allowed_deps_txt" am: 2b077baa5e am: 0ee372ad6f am: 3c5d96925f 2021-03-22 12:45:29 +00:00
apex_test.go Fix monolithic hidden API processing with prebuilts 2021-06-22 19:16:27 +01:00
bootclasspath_fragment_test.go Support hidden API processing for modules that use platform APIs 2021-06-25 21:59:28 +01:00
builder.go Rename test_only_no_hashtree to generate_hashtree 2021-06-09 19:43:46 +01:00
classpath_element_test.go Add ClasspathElement support 2021-06-18 21:02:10 +01:00
deapexer.go Simplify deapexer support 2021-06-21 10:54:22 +01:00
key.go Extract apex registration code into function for reuse 2021-03-09 23:03:40 +00:00
OWNERS Move allowed_deps.txt to packages/modules/common. 2021-03-17 15:26:16 +00:00
platform_bootclasspath_test.go Use classpath elements in platform_bootclasspath 2021-06-22 19:16:27 +01:00
prebuilt.go Simplify deapexer support 2021-06-21 10:54:22 +01:00
systemserver_classpath_fragment_test.go Rename generate proto config file to match classpath type. 2021-05-24 13:38:45 +01:00
TEST_MAPPING Add TEST_MAPPING for build/soong/apex 2019-08-07 17:33:24 +09:00
testing.go bootclasspath_fragment: Add contents to snapshot 2021-04-21 23:54:22 +01:00
vndk.go Remove global state from VNDK apexes 2021-03-02 12:23:16 -08:00
vndk_test.go Don't use incorrect version names like VER or BOARD even in tests 2021-04-05 09:32:06 +09:00