Remove bootclasspathApiInfo
Previously, the bootclasspathApiInfo was only used for tests and follow up changes will need to provide the stub dex jars. This change moves the stubJarsByKind into HiddenAPIInfo and removes bootclasspathApiInfo and the corresponding provider. Bug: 179354495 Test: m nothing Merged-In: I5459c56de561c053ed671dc9d5cb3ee4820c0ee8 Change-Id: I5459c56de561c053ed671dc9d5cb3ee4820c0ee8 (cherry picked from commit 18cf19745e2fffb184a7b42f50609ea98d4adb1d)
This commit is contained in:
parent
699a00489e
commit
6a58cc94d1
|
@ -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{})
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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])
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue