diff options
author | Jiakai Zhang <jiakaiz@google.com> | 2023-02-20 16:30:01 +0000 |
---|---|---|
committer | Jiakai Zhang <jiakaiz@google.com> | 2023-02-24 17:14:08 +0000 |
commit | 3830308fb8be13df66437b9798122789c85c7e37 (patch) | |
tree | 28ac3371a82fb36bbea433789c73b29b6b75248d /sdk | |
parent | d49324dadb1fc38c363c0bc7ab28afacdf71b742 (diff) | |
download | soong-3830308fb8be13df66437b9798122789c85c7e37.tar.gz |
Generate a boot image extension for mainline BCP jars.
Bug: 269230245
Test: m
Test: atest art_standalone_dexpreopt_tests
Change-Id: I253c30d938eee2cf2549ec2338425d53956e7cbb
Diffstat (limited to 'sdk')
-rw-r--r-- | sdk/bootclasspath_fragment_sdk_test.go | 36 |
1 files changed, 28 insertions, 8 deletions
diff --git a/sdk/bootclasspath_fragment_sdk_test.go b/sdk/bootclasspath_fragment_sdk_test.go index d81635ebf..efb97be37 100644 --- a/sdk/bootclasspath_fragment_sdk_test.go +++ b/sdk/bootclasspath_fragment_sdk_test.go @@ -27,6 +27,11 @@ import ( // fixtureAddPlatformBootclasspathForBootclasspathFragment adds a platform_bootclasspath module that // references the bootclasspath fragment. func fixtureAddPlatformBootclasspathForBootclasspathFragment(apex, fragment string) android.FixturePreparer { + return fixtureAddPlatformBootclasspathForBootclasspathFragmentWithExtra(apex, fragment, "") +} + +// fixtureAddPlatformBootclasspathForBootclasspathFragmentWithExtra is the same as above, but also adds extra fragments. +func fixtureAddPlatformBootclasspathForBootclasspathFragmentWithExtra(apex, fragment, extraFragments string) android.FixturePreparer { return android.GroupFixturePreparers( // Add a platform_bootclasspath module. android.FixtureAddTextFile("frameworks/base/boot/Android.bp", fmt.Sprintf(` @@ -37,9 +42,10 @@ func fixtureAddPlatformBootclasspathForBootclasspathFragment(apex, fragment stri apex: "%s", module: "%s", }, + %s ], } - `, apex, fragment)), + `, apex, fragment, extraFragments)), android.FixtureAddFile("frameworks/base/config/boot-profile.txt", nil), android.FixtureAddFile("frameworks/base/config/boot-image-profile.txt", nil), android.FixtureAddFile("build/soong/scripts/check_boot_jars/package_allowed_list.txt", nil), @@ -79,9 +85,11 @@ func TestSnapshotWithBootclasspathFragment_ImageName(t *testing.T) { }), // Add a platform_bootclasspath that depends on the fragment. - fixtureAddPlatformBootclasspathForBootclasspathFragment("com.android.art", "mybootclasspathfragment"), + fixtureAddPlatformBootclasspathForBootclasspathFragmentWithExtra( + "com.android.art", "mybootclasspathfragment", java.ApexBootJarFragmentsForPlatformBootclasspath), java.PrepareForBootImageConfigTest, + java.PrepareApexBootJarConfigsAndModules, android.FixtureWithRootAndroidBp(` sdk { name: "mysdk", @@ -196,9 +204,15 @@ java_import { snapshotTestChecker(checkSnapshotWithoutSource, func(t *testing.T, result *android.TestResult) { // Make sure that the boot jars package check rule includes the dex jars retrieved from the prebuilt apex. checkBootJarsPackageCheckRule(t, result, - "out/soong/.intermediates/prebuilts/apex/com.android.art.deapexer/android_common/deapexer/javalib/core1.jar", - "out/soong/.intermediates/prebuilts/apex/com.android.art.deapexer/android_common/deapexer/javalib/core2.jar", - "out/soong/.intermediates/default/java/framework/android_common/aligned/framework.jar") + append( + []string{ + "out/soong/.intermediates/prebuilts/apex/com.android.art.deapexer/android_common/deapexer/javalib/core1.jar", + "out/soong/.intermediates/prebuilts/apex/com.android.art.deapexer/android_common/deapexer/javalib/core2.jar", + "out/soong/.intermediates/default/java/framework/android_common/aligned/framework.jar", + }, + java.ApexBootJarDexJarPaths..., + )..., + ) java.CheckMutatedArtBootImageConfig(t, result, "out/soong/.intermediates/snapshot/mybootclasspathfragment/android_common_com.android.art/meta_lic") java.CheckMutatedFrameworkBootImageConfig(t, result, "out/soong/.intermediates/frameworks/base/boot/platform-bootclasspath/android_common/meta_lic") }), @@ -222,9 +236,15 @@ java_import { // Make sure that the boot jars package check rule includes the dex jars created from the source. checkBootJarsPackageCheckRule(t, result, - "out/soong/.intermediates/core1/android_common_apex10000/aligned/core1.jar", - "out/soong/.intermediates/core2/android_common_apex10000/aligned/core2.jar", - "out/soong/.intermediates/default/java/framework/android_common/aligned/framework.jar") + append( + []string{ + "out/soong/.intermediates/core1/android_common_apex10000/aligned/core1.jar", + "out/soong/.intermediates/core2/android_common_apex10000/aligned/core2.jar", + "out/soong/.intermediates/default/java/framework/android_common/aligned/framework.jar", + }, + java.ApexBootJarDexJarPaths..., + )..., + ) } // checkBootJarsPackageCheckRule checks that the supplied module is an input to the boot jars |