soong: Align update boot jar variable with system_server jar
Use apex:jar pair values for updatable boot jars to align with updatable system_server values. Test: Compiles & flashed device. Ensured that the bootclasspath & system_server class paths remain the same. Change-Id: I1d6dfe3325d9091b7c724458be4e6471f9086666
This commit is contained in:
parent
bf857716a1
commit
ccc26ef316
|
@ -38,11 +38,10 @@ type GlobalConfig struct {
|
|||
DisableGenerateProfile bool // don't generate profiles
|
||||
ProfileDir string // directory to find profiles in
|
||||
|
||||
BootJars []string // modules for jars that form the boot class path
|
||||
BootJars []string // modules for jars that form the boot class path
|
||||
UpdatableBootJars []string // jars within apex that form the boot class path
|
||||
|
||||
ArtApexJars []string // modules for jars that are in the ART APEX
|
||||
ProductUpdatableBootModules []string
|
||||
ProductUpdatableBootLocations []string
|
||||
ArtApexJars []string // modules for jars that are in the ART APEX
|
||||
|
||||
SystemServerJars []string // jars that form the system server
|
||||
SystemServerApps []string // apps that are loaded into system server
|
||||
|
@ -281,9 +280,8 @@ func GlobalConfigForTests(ctx android.PathContext) GlobalConfig {
|
|||
DisableGenerateProfile: false,
|
||||
ProfileDir: "",
|
||||
BootJars: nil,
|
||||
UpdatableBootJars: nil,
|
||||
ArtApexJars: nil,
|
||||
ProductUpdatableBootModules: nil,
|
||||
ProductUpdatableBootLocations: nil,
|
||||
SystemServerJars: nil,
|
||||
SystemServerApps: nil,
|
||||
UpdatableSystemServerJars: nil,
|
||||
|
|
|
@ -554,6 +554,12 @@ func SplitApexJarPair(apexJarValue string) (string, string) {
|
|||
return apexJarPair[0], apexJarPair[1]
|
||||
}
|
||||
|
||||
// Expected format for apexJarValue = <apex name>:<jar name>
|
||||
func GetJarLocationFromApexJarPair(apexJarValue string) (string) {
|
||||
apex, jar := SplitApexJarPair(apexJarValue)
|
||||
return filepath.Join("/apex", apex, "javalib", jar + ".jar")
|
||||
}
|
||||
|
||||
func contains(l []string, s string) bool {
|
||||
for _, e := range l {
|
||||
if e == s {
|
||||
|
|
|
@ -78,9 +78,8 @@ func systemServerClasspath(ctx android.PathContext) []string {
|
|||
filepath.Join("/system/framework", m+".jar"))
|
||||
}
|
||||
for _, m := range global.UpdatableSystemServerJars {
|
||||
apex, jar := dexpreopt.SplitApexJarPair(m)
|
||||
systemServerClasspathLocations = append(systemServerClasspathLocations,
|
||||
filepath.Join("/apex", apex, "javalib", jar+".jar"))
|
||||
dexpreopt.GetJarLocationFromApexJarPair(m))
|
||||
}
|
||||
return systemServerClasspathLocations
|
||||
})
|
||||
|
@ -111,6 +110,15 @@ func stemOf(moduleName string) string {
|
|||
return moduleName
|
||||
}
|
||||
|
||||
func getJarsFromApexJarPairs(apexJarPairs []string) []string {
|
||||
modules := make([]string, len(apexJarPairs))
|
||||
for i, p := range apexJarPairs {
|
||||
_, jar := dexpreopt.SplitApexJarPair(p)
|
||||
modules[i] = jar
|
||||
}
|
||||
return modules
|
||||
}
|
||||
|
||||
// Construct a variant of the global config for dexpreopted bootclasspath jars. The variants differ
|
||||
// in the list of input jars (libcore, framework, or both), in the naming scheme for the dexpreopt
|
||||
// files (ART recognizes "apex" names as special), and whether to include a zip archive.
|
||||
|
@ -134,7 +142,7 @@ func getBootImageConfig(ctx android.PathContext, key android.OnceKey, name strin
|
|||
}
|
||||
|
||||
if !artApexJarsOnly {
|
||||
nonFrameworkModules := concat(artModules, global.ProductUpdatableBootModules)
|
||||
nonFrameworkModules := concat(artModules, getJarsFromApexJarPairs(global.UpdatableBootJars))
|
||||
frameworkModules := android.RemoveListFromList(global.BootJars, nonFrameworkModules)
|
||||
imageModules = concat(imageModules, frameworkModules)
|
||||
|
||||
|
@ -218,7 +226,11 @@ func defaultBootclasspath(ctx android.PathContext) []string {
|
|||
return ctx.Config().OnceStringSlice(defaultBootclasspathKey, func() []string {
|
||||
global := dexpreoptGlobalConfig(ctx)
|
||||
image := defaultBootImageConfig(ctx)
|
||||
bootclasspath := append(copyOf(image.dexLocations), global.ProductUpdatableBootLocations...)
|
||||
updatableBootclasspath := make([]string, len(global.UpdatableBootJars))
|
||||
for i, p := range global.UpdatableBootJars {
|
||||
updatableBootclasspath[i] = dexpreopt.GetJarLocationFromApexJarPair(p)
|
||||
}
|
||||
bootclasspath := append(copyOf(image.dexLocations), updatableBootclasspath...)
|
||||
return bootclasspath
|
||||
})
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue