aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Geoffray <ngeoffray@google.com>2019-04-30 09:43:22 +0100
committerNicolas Geoffray <ngeoffray@google.com>2019-05-13 15:09:47 +0100
commitf489589521d7da053814438b0bf3dc379239118a (patch)
treea36c1dd852c3b9c2e03fa9d66c4203881779e00f
parentecde55669f7e3810b4fe74c2fc64cc4b66ecc73f (diff)
downloadsoong-f489589521d7da053814438b0bf3dc379239118a.tar.gz
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 feef2ef4d7cc146885c482899f9a967554dc083d) Change-Id: I44ea9d99985c3e9d21602f2c612364d0cef0d1ea Merged-In: Ib0d3acf8d2718ee443b3bffe8122a54f92257691
-rw-r--r--java/dexpreopt_config.go24
1 files changed, 16 insertions, 8 deletions
diff --git a/java/dexpreopt_config.go b/java/dexpreopt_config.go
index 409b4b1fc..abc5fa18f 100644
--- a/java/dexpreopt_config.go
+++ b/java/dexpreopt_config.go
@@ -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,