Add ART boot image profile to the ART APEX.
We will need the profile when we generate the primary boot image on device. Bug: 203492478 Test: Run `banchan com.android.art x86_64 && m` and see `$ANDROID_PRODUCT_OUT/apex/com.android.art/etc/boot-image.prof`. Test: Run `lunch aosp_cf_x86_64_phone-userdebug && m` and see both `$ANDROID_PRODUCT_OUT/apex/com.android.art/etc/boot-image.prof` and `$ANDROID_PRODUCT_OUT/system/etc/boot-image.prof`, in different sizes. Test: Start Cuttlefish with the built image and see both `/apex/com.android.art/etc/boot-image.prof` and `/system/etc/boot-image.prof` on device. Change-Id: Id879dc49b234133dfbb9563814328661a1f4a6c0
This commit is contained in:
@@ -256,6 +256,10 @@ type bootImageConfig struct {
|
||||
// Subdirectory where the image files on device are installed.
|
||||
installDirOnDevice string
|
||||
|
||||
// Install path of the boot image profile if it needs to be installed in the APEX, or empty if not
|
||||
// needed.
|
||||
profileInstallPathInApex string
|
||||
|
||||
// A list of (location, jar) pairs for the Java modules in this image.
|
||||
modules android.ConfiguredJarList
|
||||
|
||||
@@ -272,6 +276,9 @@ type bootImageConfig struct {
|
||||
// Rules which should be used in make to install the outputs.
|
||||
profileInstalls android.RuleBuilderInstalls
|
||||
|
||||
// Path to the image profile file on host (or empty, if profile is not generated).
|
||||
profilePathOnHost android.Path
|
||||
|
||||
// Target-dependent fields.
|
||||
variants []*bootImageVariant
|
||||
}
|
||||
@@ -769,11 +776,14 @@ func bootImageProfileRule(ctx android.ModuleContext, image *bootImageConfig) and
|
||||
FlagForEachArg("--dex-location=", image.getAnyAndroidVariant().dexLocationsDeps).
|
||||
FlagWithOutput("--reference-profile-file=", profile)
|
||||
|
||||
rule.Install(profile, "/system/etc/boot-image.prof")
|
||||
if image == defaultBootImageConfig(ctx) {
|
||||
rule.Install(profile, "/system/etc/boot-image.prof")
|
||||
image.profileInstalls = append(image.profileInstalls, rule.Installs()...)
|
||||
}
|
||||
|
||||
rule.Build("bootJarsProfile", "profile boot jars")
|
||||
|
||||
image.profileInstalls = append(image.profileInstalls, rule.Installs()...)
|
||||
image.profilePathOnHost = profile
|
||||
|
||||
return profile
|
||||
}
|
||||
|
Reference in New Issue
Block a user