Move copying of dex files from dexpreopt_bootjars singleton
The art dex files are copied in the bootclasspath_fragment and the
non-updatable and updatable dex files are copied in the
platform_bootclasspath.
Bug: 177892522
Test: m nothing
Change-Id: I5d3d533d1a7a9f8e7ae20c12eb33029a898a2cd6
diff --git a/java/platform_bootclasspath.go b/java/platform_bootclasspath.go
index c787e47..eccea61 100644
--- a/java/platform_bootclasspath.go
+++ b/java/platform_bootclasspath.go
@@ -196,7 +196,7 @@
return
}
- b.generateBootImageBuildActions(ctx, updatableModules)
+ b.generateBootImageBuildActions(ctx, nonUpdatableModules, updatableModules)
}
// Generate classpaths.proto config
@@ -430,7 +430,7 @@
}
// generateBootImageBuildActions generates ninja rules related to the boot image creation.
-func (b *platformBootclasspathModule) generateBootImageBuildActions(ctx android.ModuleContext, updatableModules []android.Module) {
+func (b *platformBootclasspathModule) generateBootImageBuildActions(ctx android.ModuleContext, nonUpdatableModules, updatableModules []android.Module) {
// Force the GlobalSoongConfig to be created and cached for use by the dex_bootjars
// GenerateSingletonBuildActions method as it cannot create it for itself.
dexpreopt.GetGlobalSoongConfig(ctx)
@@ -451,5 +451,12 @@
// Generate the updatable bootclasspath packages rule.
generateUpdatableBcpPackagesRule(ctx, imageConfig, updatableModules)
+ // Copy non-updatable module dex jars to their predefined locations.
+ copyBootJarsToPredefinedLocations(ctx, nonUpdatableModules, imageConfig.modules, imageConfig.dexPaths)
+
+ // Copy updatable module dex jars to their predefined locations.
+ config := GetUpdatableBootConfig(ctx)
+ copyBootJarsToPredefinedLocations(ctx, updatableModules, config.modules, config.dexPaths)
+
dumpOatRules(ctx, imageConfig)
}