Change the profile path on host.
This is to decouple profile generation from image configs. A boot image profile is either for a mainline module or for the platform, which is orthogonal to boot images. Bug: 290583827 Test: m nothing Change-Id: I0918f2fa945a2af1839f1a08ecede331c64d0317
This commit is contained in:
@@ -162,8 +162,8 @@ func TestDexpreoptBootJarsWithSourceArtApex(t *testing.T) {
|
||||
"out/soong/dexpreopt_arm64/dex_bootjars_input/foo.jar",
|
||||
"out/soong/dexpreopt_arm64/dex_bootjars_input/bar.jar",
|
||||
"out/soong/dexpreopt_arm64/dex_bootjars_input/baz.jar",
|
||||
"out/soong/dexpreopt_arm64/dex_artjars/boot.prof",
|
||||
"out/soong/dexpreopt_arm64/dex_bootjars/boot.prof",
|
||||
"out/soong/.intermediates/art-bootclasspath-fragment/android_common_apex10000/art/boot.prof",
|
||||
"out/soong/.intermediates/platform-bootclasspath/android_common/boot/boot.prof",
|
||||
}
|
||||
|
||||
expectedOutputs := []string{
|
||||
@@ -200,7 +200,7 @@ func TestDexpreoptBootJarsWithPrebuiltArtApex(t *testing.T) {
|
||||
"out/soong/dexpreopt_arm64/dex_bootjars_input/bar.jar",
|
||||
"out/soong/dexpreopt_arm64/dex_bootjars_input/baz.jar",
|
||||
"out/soong/.intermediates/com.android.art.deapexer/android_common/deapexer/etc/boot-image.prof",
|
||||
"out/soong/dexpreopt_arm64/dex_bootjars/boot.prof",
|
||||
"out/soong/.intermediates/platform-bootclasspath/android_common/boot/boot.prof",
|
||||
}
|
||||
|
||||
expectedOutputs := []string{
|
||||
|
@@ -880,11 +880,7 @@ const failureMessage = `ERROR: Dex2oat failed to compile a boot image.
|
||||
It is likely that the boot classpath is inconsistent.
|
||||
Rebuild with ART_BOOT_IMAGE_EXTRA_ARGS="--runtime-arg -verbose:verifier" to see verification errors.`
|
||||
|
||||
func bootImageProfileRule(ctx android.ModuleContext, image *bootImageConfig) android.WritablePath {
|
||||
if !image.isProfileGuided() {
|
||||
return nil
|
||||
}
|
||||
|
||||
func bootImageProfileRuleCommon(ctx android.ModuleContext, name string, dexFiles android.Paths, dexLocations []string) android.WritablePath {
|
||||
globalSoong := dexpreopt.GetGlobalSoongConfig(ctx)
|
||||
global := dexpreopt.GetGlobalConfig(ctx)
|
||||
|
||||
@@ -911,28 +907,39 @@ func bootImageProfileRule(ctx android.ModuleContext, image *bootImageConfig) and
|
||||
if path := android.ExistentPathForSource(ctx, extraProfile); path.Valid() {
|
||||
profiles = append(profiles, path.Path())
|
||||
}
|
||||
bootImageProfile := image.dir.Join(ctx, "boot-image-profile.txt")
|
||||
bootImageProfile := android.PathForModuleOut(ctx, name, "boot-image-profile.txt")
|
||||
rule.Command().Text("cat").Inputs(profiles).Text(">").Output(bootImageProfile)
|
||||
|
||||
profile := image.dir.Join(ctx, "boot.prof")
|
||||
profile := android.PathForModuleOut(ctx, name, "boot.prof")
|
||||
|
||||
rule.Command().
|
||||
Text(`ANDROID_LOG_TAGS="*:e"`).
|
||||
Tool(globalSoong.Profman).
|
||||
Flag("--output-profile-type=boot").
|
||||
FlagWithInput("--create-profile-from=", bootImageProfile).
|
||||
FlagForEachInput("--apk=", image.dexPathsDeps.Paths()).
|
||||
FlagForEachArg("--dex-location=", image.getAnyAndroidVariant().dexLocationsDeps).
|
||||
FlagForEachInput("--apk=", dexFiles).
|
||||
FlagForEachArg("--dex-location=", dexLocations).
|
||||
FlagWithOutput("--reference-profile-file=", profile)
|
||||
|
||||
rule.Build("bootJarsProfile_"+name, "profile boot jars "+name)
|
||||
|
||||
return profile
|
||||
}
|
||||
|
||||
func bootImageProfileRule(ctx android.ModuleContext, image *bootImageConfig) android.WritablePath {
|
||||
if !image.isProfileGuided() {
|
||||
return nil
|
||||
}
|
||||
|
||||
profile := bootImageProfileRuleCommon(ctx, image.name, image.dexPathsDeps.Paths(), image.getAnyAndroidVariant().dexLocationsDeps)
|
||||
|
||||
if image == defaultBootImageConfig(ctx) {
|
||||
rule := android.NewRuleBuilder(pctx, ctx)
|
||||
rule.Install(profile, "/system/etc/boot-image.prof")
|
||||
image.profileInstalls = append(image.profileInstalls, rule.Installs()...)
|
||||
image.profileLicenseMetadataFile = android.OptionalPathForPath(ctx.LicenseMetadataFile())
|
||||
}
|
||||
|
||||
rule.Build("bootJarsProfile", "profile boot jars")
|
||||
|
||||
return profile
|
||||
}
|
||||
|
||||
|
@@ -814,7 +814,7 @@ func checkFrameworkBootImageConfig(t *testing.T, result *android.TestResult, mut
|
||||
},
|
||||
profileInstalls: []normalizedInstall{
|
||||
{from: "out/soong/dexpreopt_arm64/dex_bootjars/boot.bprof", to: "/system/etc/boot-image.bprof"},
|
||||
{from: "out/soong/dexpreopt_arm64/dex_bootjars/boot.prof", to: "/system/etc/boot-image.prof"},
|
||||
{from: "out/soong/.intermediates/frameworks/base/boot/platform-bootclasspath/android_common/boot/boot.prof", to: "/system/etc/boot-image.prof"},
|
||||
},
|
||||
profileLicenseMetadataFile: expectedLicenseMetadataFile,
|
||||
}
|
||||
@@ -1245,7 +1245,7 @@ DEXPREOPT_IMAGE_LOCATIONS_ON_HOSTart=out/soong/dexpreopt_arm64/dex_artjars/andro
|
||||
DEXPREOPT_IMAGE_LOCATIONS_ON_HOSTboot=out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/boot.art
|
||||
DEXPREOPT_IMAGE_LOCATIONS_ON_HOSTmainline=out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/boot.art:out/soong/dexpreopt_arm64/dex_mainlinejars/android/system/framework/boot-framework-foo.art
|
||||
DEXPREOPT_IMAGE_NAMES=art boot mainline
|
||||
DEXPREOPT_IMAGE_PROFILE_BUILT_INSTALLED=out/soong/dexpreopt_arm64/dex_bootjars/boot.bprof:/system/etc/boot-image.bprof out/soong/dexpreopt_arm64/dex_bootjars/boot.prof:/system/etc/boot-image.prof
|
||||
DEXPREOPT_IMAGE_PROFILE_BUILT_INSTALLED=out/soong/dexpreopt_arm64/dex_bootjars/boot.bprof:/system/etc/boot-image.bprof out/soong/.intermediates/frameworks/base/boot/platform-bootclasspath/android_common/boot/boot.prof:/system/etc/boot-image.prof
|
||||
DEXPREOPT_IMAGE_PROFILE_LICENSE_METADATA=out/soong/.intermediates/frameworks/base/boot/platform-bootclasspath/android_common/meta_lic
|
||||
DEXPREOPT_IMAGE_UNSTRIPPED_BUILT_INSTALLED_art_arm=out/soong/dexpreopt_arm64/dex_artjars_unstripped/android/apex/art_boot_images/javalib/arm/boot.oat:/apex/art_boot_images/javalib/arm/boot.oat out/soong/dexpreopt_arm64/dex_artjars_unstripped/android/apex/art_boot_images/javalib/arm/boot-core2.oat:/apex/art_boot_images/javalib/arm/boot-core2.oat
|
||||
DEXPREOPT_IMAGE_UNSTRIPPED_BUILT_INSTALLED_art_arm64=out/soong/dexpreopt_arm64/dex_artjars_unstripped/android/apex/art_boot_images/javalib/arm64/boot.oat:/apex/art_boot_images/javalib/arm64/boot.oat out/soong/dexpreopt_arm64/dex_artjars_unstripped/android/apex/art_boot_images/javalib/arm64/boot-core2.oat:/apex/art_boot_images/javalib/arm64/boot-core2.oat
|
||||
|
Reference in New Issue
Block a user