diff --git a/java/bootclasspath.go b/java/bootclasspath.go index 634959a7e..eddcc838b 100644 --- a/java/bootclasspath.go +++ b/java/bootclasspath.go @@ -235,12 +235,3 @@ func (p BootclasspathAPIProperties) sdkKindToStubLibs() map[android.SdkKind][]st m[android.SdkCorePlatform] = p.Core_platform_api.Stub_libs return m } - -// bootclasspathApiInfo contains paths resolved from BootclasspathAPIProperties -type bootclasspathApiInfo struct { - // stubJarsByKind maps from the android.SdkKind to the paths containing dex stub jars for each - // kind. - stubJarsByKind map[android.SdkKind]android.Paths -} - -var bootclasspathApiInfoProvider = blueprint.NewProvider(bootclasspathApiInfo{}) diff --git a/java/bootclasspath_fragment.go b/java/bootclasspath_fragment.go index 1807ce70f..0d61d82c9 100644 --- a/java/bootclasspath_fragment.go +++ b/java/bootclasspath_fragment.go @@ -507,10 +507,6 @@ func (b *BootclasspathFragmentModule) generateHiddenAPIBuildActions(ctx android. // Create hidden API input structure. input := b.createHiddenAPIFlagInput(ctx, contents) - // Store the information for use by other modules. - bootclasspathApiInfo := bootclasspathApiInfo{stubJarsByKind: input.StubDexJarsByKind} - ctx.SetProvider(bootclasspathApiInfoProvider, bootclasspathApiInfo) - var output *HiddenAPIFlagOutput // Hidden API processing is conditional as a temporary workaround as not all @@ -534,6 +530,9 @@ func (b *BootclasspathFragmentModule) generateHiddenAPIBuildActions(ctx android. // generation. That is because the monolithic hidden API processing uses those flag files to // perform its own flag generation. FlagFilesByCategory: input.FlagFilesByCategory, + + // Make these available for tests. + StubDexJarsByKind: input.StubDexJarsByKind, } if output != nil { diff --git a/java/bootclasspath_fragment_test.go b/java/bootclasspath_fragment_test.go index db284c9ec..f1c9077c7 100644 --- a/java/bootclasspath_fragment_test.go +++ b/java/bootclasspath_fragment_test.go @@ -252,7 +252,7 @@ func TestBootclasspathFragment_StubLibs(t *testing.T) { `) fragment := result.Module("myfragment", "android_common") - info := result.ModuleProvider(fragment, bootclasspathApiInfoProvider).(bootclasspathApiInfo) + info := result.ModuleProvider(fragment, HiddenAPIInfoProvider).(HiddenAPIInfo) stubsJar := "out/soong/.intermediates/mystublib/android_common/dex/mystublib.jar" @@ -264,17 +264,17 @@ func TestBootclasspathFragment_StubLibs(t *testing.T) { otherPublicStubsJar := "out/soong/.intermediates/myothersdklibrary.stubs/android_common/dex/myothersdklibrary.stubs.jar" // Check that SdkPublic uses public stubs for all sdk libraries. - android.AssertPathsRelativeToTopEquals(t, "public dex stubs jar", []string{otherPublicStubsJar, publicStubsJar, stubsJar}, info.stubJarsByKind[android.SdkPublic]) + android.AssertPathsRelativeToTopEquals(t, "public dex stubs jar", []string{otherPublicStubsJar, publicStubsJar, stubsJar}, info.StubDexJarsByKind[android.SdkPublic]) // Check that SdkSystem uses system stubs for mysdklibrary and public stubs for myothersdklibrary // as it does not provide system stubs. - android.AssertPathsRelativeToTopEquals(t, "system dex stubs jar", []string{otherPublicStubsJar, systemStubsJar, stubsJar}, info.stubJarsByKind[android.SdkSystem]) + android.AssertPathsRelativeToTopEquals(t, "system dex stubs jar", []string{otherPublicStubsJar, systemStubsJar, stubsJar}, info.StubDexJarsByKind[android.SdkSystem]) // Check that SdkTest also uses system stubs for mysdklibrary as it does not provide test stubs // and public stubs for myothersdklibrary as it does not provide test stubs either. - android.AssertPathsRelativeToTopEquals(t, "test dex stubs jar", []string{otherPublicStubsJar, systemStubsJar, stubsJar}, info.stubJarsByKind[android.SdkTest]) + android.AssertPathsRelativeToTopEquals(t, "test dex stubs jar", []string{otherPublicStubsJar, systemStubsJar, stubsJar}, info.StubDexJarsByKind[android.SdkTest]) // Check that SdkCorePlatform uses public stubs from the mycoreplatform library. corePlatformStubsJar := "out/soong/.intermediates/mycoreplatform.stubs/android_common/dex/mycoreplatform.stubs.jar" - android.AssertPathsRelativeToTopEquals(t, "core platform dex stubs jar", []string{corePlatformStubsJar}, info.stubJarsByKind[android.SdkCorePlatform]) + android.AssertPathsRelativeToTopEquals(t, "core platform dex stubs jar", []string{corePlatformStubsJar}, info.StubDexJarsByKind[android.SdkCorePlatform]) } diff --git a/java/hiddenapi_modular.go b/java/hiddenapi_modular.go index 0bf39ffe2..94fe2caad 100644 --- a/java/hiddenapi_modular.go +++ b/java/hiddenapi_modular.go @@ -348,6 +348,9 @@ type HiddenAPIInfo struct { // that category. FlagFilesByCategory FlagFilesByCategory + // The paths to the stub dex jars for each of the android.SdkKind in hiddenAPIRelevantSdkKinds. + StubDexJarsByKind StubDexJarsByKind + // The output from the hidden API processing needs to be made available to other modules. HiddenAPIFlagOutput }