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.

(cherry picked from commit feef2ef4d7)

Change-Id: I44ea9d99985c3e9d21602f2c612364d0cef0d1ea
Merged-In: Ib0d3acf8d2718ee443b3bffe8122a54f92257691
This commit is contained in:
Nicolas Geoffray 2019-04-30 09:43:22 +01:00
parent ecde55669f
commit f489589521
1 changed files with 16 additions and 8 deletions

View File

@ -136,21 +136,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"))
}
@ -165,9 +173,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,