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

Commit feef2ef4 authored by Nicolas Geoffray's avatar Nicolas Geoffray
Browse files

Pass other boot classpath locations to the apex image.

In order to evaluate the impact of framework classes being in an image.

Test: m
Bug: 119800099
Exempt-From-Owner-Approval: this is only for an experimental config, which we would like to see
the performance before build snap.
Change-Id: Ib0d3acf8d2718ee443b3bffe8122a54f92257691
parent 1341942d
Loading
Loading
Loading
Loading
+16 −8
Original line number Diff line number Diff line
@@ -138,21 +138,29 @@ func apexBootImageConfig(ctx android.PathContext) bootImageConfig {
		global := dexpreoptGlobalConfig(ctx)

		runtimeModules := global.RuntimeApexJars
		nonFrameworkModules := concat(runtimeModules, global.ProductUpdatableBootModules)
		frameworkModules := android.RemoveListFromList(global.BootJars, nonFrameworkModules)
		imageModules := concat(runtimeModules, frameworkModules)

		var runtimeBootLocations []string
		var bootLocations []string

		for _, m := range runtimeModules {
			runtimeBootLocations = append(runtimeBootLocations,
			bootLocations = append(bootLocations,
				filepath.Join("/apex/com.android.runtime/javalib", m+".jar"))
		}

		for _, m := range frameworkModules {
			bootLocations = append(bootLocations,
				filepath.Join("/system/framework", m+".jar"))
		}

		// The path to bootclasspath dex files needs to be known at module GenerateAndroidBuildAction time, before
		// the bootclasspath modules have been compiled.  Set up known paths for them, the singleton rules will copy
		// them there.
		// TODO: use module dependencies instead
		var runtimeBootDexPaths android.WritablePaths
		for _, m := range runtimeModules {
			runtimeBootDexPaths = append(runtimeBootDexPaths,
		var bootDexPaths android.WritablePaths
		for _, m := range imageModules {
			bootDexPaths = append(bootDexPaths,
				android.PathForOutput(ctx, ctx.Config().DeviceName(), "dex_apexjars_input", m+".jar"))
		}

@@ -167,9 +175,9 @@ func apexBootImageConfig(ctx android.PathContext) bootImageConfig {

		return bootImageConfig{
			name:         "apex",
			modules:      runtimeModules,
			dexLocations: runtimeBootLocations,
			dexPaths:     runtimeBootDexPaths,
			modules:      imageModules,
			dexLocations: bootLocations,
			dexPaths:     bootDexPaths,
			dir:          dir,
			symbolsDir:   symbolsDir,
			images:       images,