Use java_sdk_library in bootclasspath_fragment contents as stubs

A java_sdk_library specified in the bootclasspath_fragment contents
must be providing APIs for the bootclasspath_fragment and so must be
treated as if they were specified in the stub_libs. This avoids having
to specify them in both contents and stub_libs.

Bug: 179354495
Test: m nothing
Change-Id: I535065ee1a79b439e2676f35e06a75d4626adcaf
This commit is contained in:
Paul Duffin
2021-05-13 21:25:05 +01:00
parent dfa1083fee
commit 34827d4c0e
4 changed files with 48 additions and 12 deletions

View File

@@ -91,6 +91,9 @@ func IsBootclasspathFragmentContentDepTag(tag blueprint.DependencyTag) bool {
type BootclasspathFragmentCoverageAffectedProperties struct {
// The contents of this bootclasspath_fragment, could be either java_library, or java_sdk_library.
//
// A java_sdk_library specified here will also be treated as if it was specified on the stub_libs
// property.
//
// The order of this list matters as it is the order that is used in the bootclasspath.
Contents []string
@@ -453,7 +456,7 @@ func (b *BootclasspathFragmentModule) getImageConfig(ctx android.EarlyModuleCont
func (b *BootclasspathFragmentModule) generateHiddenAPIBuildActions(ctx android.ModuleContext, contents []android.Module) {
// Convert the kind specific lists of modules into kind specific lists of jars.
stubJarsByKind := hiddenAPIGatherStubLibDexJarPaths(ctx)
stubJarsByKind := hiddenAPIGatherStubLibDexJarPaths(ctx, contents)
// Store the information for use by other modules.
bootclasspathApiInfo := bootclasspathApiInfo{stubJarsByKind: stubJarsByKind}