Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1c9977ae authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Change OnlyPreoptBootImageAndSystemServer to OnlyPreoptArtBootImage."...

Merge "Change OnlyPreoptBootImageAndSystemServer to OnlyPreoptArtBootImage." into main am: 34778a93

Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2822402



Change-Id: Ib046322e1c6c6416b9e156630db46f7f8fe5c59f
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents f8b33b56 34778a93
Loading
Loading
Loading
Loading
+40 −40
Original line number Original line Diff line number Diff line
@@ -32,7 +32,7 @@ type GlobalConfig struct {
	DisablePreoptBootImages bool     // disable prepot for boot images
	DisablePreoptBootImages bool     // disable prepot for boot images
	DisablePreoptModules    []string // modules with preopt disabled by product-specific config
	DisablePreoptModules    []string // modules with preopt disabled by product-specific config


	OnlyPreoptBootImageAndSystemServer bool // only preopt jars in the boot image or system server
	OnlyPreoptArtBootImage bool // only preopt jars in the ART boot image


	PreoptWithUpdatableBcp bool // If updatable boot jars are included in dexpreopt or not.
	PreoptWithUpdatableBcp bool // If updatable boot jars are included in dexpreopt or not.


@@ -693,7 +693,7 @@ func GlobalConfigForTests(ctx android.PathContext) *GlobalConfig {
	return &GlobalConfig{
	return &GlobalConfig{
		DisablePreopt:                  false,
		DisablePreopt:                  false,
		DisablePreoptModules:           nil,
		DisablePreoptModules:           nil,
		OnlyPreoptBootImageAndSystemServer: false,
		OnlyPreoptArtBootImage:         false,
		HasSystemOther:                 false,
		HasSystemOther:                 false,
		PatternsOnSystemOther:          nil,
		PatternsOnSystemOther:          nil,
		DisableGenerateProfile:         false,
		DisableGenerateProfile:         false,
+1 −6
Original line number Original line Diff line number Diff line
@@ -124,12 +124,7 @@ func dexpreoptDisabled(ctx android.PathContext, global *GlobalConfig, module *Mo
		return true
		return true
	}
	}


	// If OnlyPreoptBootImageAndSystemServer=true and module is not in boot class path skip
	if global.OnlyPreoptArtBootImage && !module.PreoptExtractedApk {
	// Also preopt system server jars since selinux prevents system server from loading anything from
	// /data. If we don't do this they will need to be extracted which is not favorable for RAM usage
	// or performance. If PreoptExtractedApk is true, we ignore the only preopt boot image options.
	if global.OnlyPreoptBootImageAndSystemServer && !global.BootJars.ContainsJar(module.Name) &&
		!global.AllSystemServerJars(ctx).ContainsJar(module.Name) && !module.PreoptExtractedApk {
		return true
		return true
	}
	}


+1 −1
Original line number Original line Diff line number Diff line
@@ -1584,7 +1584,7 @@ func (u *usesLibrary) verifyUsesLibraries(ctx android.ModuleContext, inputFile a
	// non-linux build platforms where dexpreopt is generally disabled (the check may fail due to
	// non-linux build platforms where dexpreopt is generally disabled (the check may fail due to
	// various unrelated reasons, such as a failure to get manifest from an APK).
	// various unrelated reasons, such as a failure to get manifest from an APK).
	global := dexpreopt.GetGlobalConfig(ctx)
	global := dexpreopt.GetGlobalConfig(ctx)
	if global.DisablePreopt || global.OnlyPreoptBootImageAndSystemServer {
	if global.DisablePreopt || global.OnlyPreoptArtBootImage {
		return inputFile
		return inputFile
	}
	}


+2 −1
Original line number Original line Diff line number Diff line
@@ -610,7 +610,8 @@ func generateBootImage(ctx android.ModuleContext, imageConfig *bootImageConfig)
	profile := bootImageProfileRule(ctx, imageConfig)
	profile := bootImageProfileRule(ctx, imageConfig)


	// If dexpreopt of boot image jars should be skipped, stop after generating a profile.
	// If dexpreopt of boot image jars should be skipped, stop after generating a profile.
	if SkipDexpreoptBootJars(ctx) {
	global := dexpreopt.GetGlobalConfig(ctx)
	if SkipDexpreoptBootJars(ctx) || (global.OnlyPreoptArtBootImage && imageConfig.name != "art") {
		return
		return
	}
	}


+1 −1
Original line number Original line Diff line number Diff line
@@ -68,7 +68,7 @@ func (m *dexpreoptSystemserverCheck) GenerateAndroidBuildActions(ctx android.Mod


	// The check should be skipped on unbundled builds because system server jars are not preopted on
	// The check should be skipped on unbundled builds because system server jars are not preopted on
	// unbundled builds since the artifacts are installed into the system image, not the APEXes.
	// unbundled builds since the artifacts are installed into the system image, not the APEXes.
	if global.DisablePreopt || len(targets) == 0 || ctx.Config().UnbundledBuild() {
	if global.DisablePreopt || global.OnlyPreoptArtBootImage || len(targets) == 0 || ctx.Config().UnbundledBuild() {
		return
		return
	}
	}