platform_build_soong/java
Paul Duffin f1b358cb57 Support hidden API processing for fragments with dependencies
Previously, a bootclasspath_fragment that depended on classes provided
by another bootclasspath_fragment did not support hidden API processing
as it would not supply information about those dependencies.

This change adds support for that as follows. Each fragment:
1. Exports the transitive sets of stub dex jars for each of the public,
   system, test and core_platform APIs (where relevant).
2. Adds dependencies onto its dependent fragments.
3. Retrieves the API stubs dex jars from its dependent fragments and
   passes them to the "hiddenapi list" tool which will use them to
   resolve dependencies but will not output them to the generated
   flags.

Once the flags are generated the existing encoding functionality
encodes the flags into the dex files of the bootclasspath_fragment's
content modules which are then packaged into the apex.

Bug: 179354495
Test: m com.android.sdkext
      - verify that this does not change the contents of the apex files
Change-Id: I3e82a6dbb437f1e417e5d7e25aeb212e378603d0
2021-05-24 14:56:10 +01:00
..
config Time out and dump stacks from R8 processes after 30 minutes 2021-04-30 14:14:46 -07:00
aapt2.go
aar.go SdkSpec is fully using ApiLevel 2021-04-08 11:27:24 +09:00
Android.bp Separate monolithic hidden API processing from hiddenAPIFlagFileInfo 2021-05-24 13:32:55 +01:00
android_manifest.go SdkSpec is fully using ApiLevel 2021-04-08 11:27:24 +09:00
android_resources.go Add preparer for overlay pre-singleton registration 2021-03-22 22:09:53 +00:00
androidmk.go Expose "full" dexpreopt.config 2021-04-19 18:24:42 +09:00
androidmk_test.go Remove javaFixtureFactory 2021-03-24 01:07:12 +00:00
app.go Refactor vendor snapshot to use LinkableInterface. 2021-05-12 14:01:10 -04:00
app_builder.go Move android package on top of remotexec 2021-03-18 16:17:34 -07:00
app_import.go Adding relative_install_path field to android_app_import 2021-05-20 23:10:26 +00:00
app_import_test.go Adding relative_install_path field to android_app_import 2021-05-20 23:10:26 +00:00
app_set.go
app_set_test.go Remove uses of buildDir from java/app_set_test.go 2021-03-24 00:01:15 +00:00
app_test.go Remove extraneous calls to TestingBuildParams.RelativeToTop() 2021-03-30 20:03:22 +01:00
base.go Move hidden API encoding after resource merging 2021-05-19 13:48:25 +01:00
boot_jars.go Record the actual APEXes that a module is part of. 2021-05-18 16:05:29 +09:00
bootclasspath.go Remove bootclasspathApiInfo 2021-05-24 13:32:56 +01:00
bootclasspath_fragment.go Support hidden API processing for fragments with dependencies 2021-05-24 14:56:10 +01:00
bootclasspath_fragment_test.go Support hidden API processing for fragments with dependencies 2021-05-24 14:56:10 +01:00
builder.go Support multiple rsp files in REParams 2021-03-25 11:06:45 -07:00
classpath_fragment.go Use absolute paths in classpaths.proto. 2021-05-18 19:37:32 +01:00
device_host_converter.go Clear remains of java.Dependency interface. 2021-03-05 14:57:51 +00:00
device_host_converter_test.go
dex.go Time out and dump stacks from R8 processes after 30 minutes 2021-04-30 14:14:46 -07:00
dexpreopt.go Add usesTargetFiles option in dexpreopt_gen 2021-05-15 00:29:49 +09:00
dexpreopt_bootjars.go Merge "Workaround to make AlwaysUsePrebuiltSdks() work with platform_bootclasspath" 2021-05-20 06:58:34 +00:00
dexpreopt_bootjars_test.go Build boot images in bootclasspath_fragment/platform_bootclasspath 2021-05-12 21:51:27 +01:00
dexpreopt_config.go Populate individual classpath_fragments' classpaths.proto configs. 2021-05-20 20:06:03 +01:00
dexpreopt_test.go Skip TestDex2oatToolDeps on Darwin. 2021-05-20 15:53:00 +01:00
droiddoc.go Move stub providers to droidstubs.go 2021-05-05 10:36:05 +01:00
droiddoc_test.go Remove extraneous calls to TestingBuildParams.RelativeToTop() 2021-03-30 20:03:22 +01:00
droidstubs.go Merge "Move stub providers to droidstubs.go" 2021-05-05 13:17:37 +00:00
droidstubs_test.go Remove support for unsandboxed metalava 2021-03-31 13:17:42 -07:00
gen.go Take Module implementations out of java/java.go. 2021-03-19 15:46:38 -07:00
genrule.go
hiddenapi.go Refactor hiddenAPIEncodeDex for use by bootclasspath_fragment 2021-05-23 11:21:38 +01:00
hiddenapi_modular.go Support hidden API processing for fragments with dependencies 2021-05-24 14:56:10 +01:00
hiddenapi_monolithic.go Fix hidden API flags in com.android.i18n 2021-05-24 13:32:55 +01:00
hiddenapi_singleton.go Rename InApexes -> InApexVariants 2021-05-18 16:05:14 +09:00
hiddenapi_singleton_test.go Add a test for hidden API encoding of java_sdk_library 2021-05-17 18:38:06 +01:00
jacoco.go
jacoco_test.go
java.go Don't fail if the target module is disabled in dex2oat tool 2021-05-18 21:58:38 +01:00
java_resources.go
java_test.go Merge changes Ia74a2b83,I30a46c8f,Iac7c0149 2021-04-22 15:39:41 +00:00
jdeps.go
jdeps_test.go
kotlin.go Silence kotlinc JDK9 warnings 2021-03-31 13:17:42 -07:00
kotlin_test.go Remove uses of buildDir from java/kotlin_test.go 2021-03-24 01:07:12 +00:00
legacy_core_platform_api_usage.go Merge "Add test suite to legacy core platform allowlist." 2021-03-16 23:02:39 +00:00
lint.go Strict updatability linting against dependencies. 2021-05-10 15:30:00 -07:00
lint_defaults.txt Update soong for new lint version 2021-04-06 17:49:19 +00:00
lint_test.go Strict updatability linting against dependencies. 2021-05-10 15:30:00 -07:00
OWNERS
platform_bootclasspath.go Separate input to flag generation from hiddenAPIFlagFileInfo 2021-05-24 13:32:55 +01:00
platform_bootclasspath_test.go Separate monolithic hidden API processing from hiddenAPIFlagFileInfo 2021-05-24 13:32:55 +01:00
platform_compat_config.go Extract IsModuleInVersionedSdk 2021-04-28 00:39:52 +01:00
platform_compat_config_test.go Add platform_compat_config to sdk 2021-03-22 19:13:40 +00:00
plugin.go Register java_plugin in PrepareForTestWithJavaBuildComponents 2021-03-24 00:01:15 +00:00
plugin_test.go
prebuilt_apis.go Remove special case code for obsolete files 2021-04-13 19:09:48 +01:00
proto.go Improve java.go readability. 2021-03-15 13:58:44 -07:00
robolectric.go Support robolectric prebuilts in android_robolectric_test 2021-03-05 19:22:30 +00:00
rro.go SdkSpec is fully using ApiLevel 2021-04-08 11:27:24 +09:00
rro_test.go Remove extraneous calls to TestingBuildParams.RelativeToTop() 2021-03-30 20:03:22 +01:00
sdk.go Merge "Replace source based system server stubs" 2021-04-28 15:06:22 +00:00
sdk_library.go Allow missing java_sdk_library files in AllowMissingDependencies builds 2021-05-20 18:00:37 -07:00
sdk_library_external.go
sdk_test.go Remove FixturePreparer.Extend() 2021-04-01 10:33:20 +01:00
support_libraries.go
system_modules.go Make all SdkMemberTypes support transitive member deps 2021-05-06 23:13:06 +01:00
system_modules_test.go Remove varargs from RunTest(t *testing.T) 2021-03-31 16:03:59 +01:00
systemserver_classpath_fragment.go Populate individual classpath_fragments' classpaths.proto configs. 2021-05-20 20:06:03 +01:00
systemserver_classpath_fragment_test.go Add "contents" property to systemserverclasspath_fragment. 2021-05-17 21:46:08 +01:00
testing.go Merge changes I4e7a7ac5,I0c73361b 2021-05-20 09:59:59 +00:00
tradefed.go