Merge "Add system server jars expressed in make in the system server classpath."
This commit is contained in:
commit
cbeaab2974
1 changed files with 17 additions and 1 deletions
|
@ -15,6 +15,7 @@
|
|||
package java
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
|
||||
|
@ -29,14 +30,29 @@ func systemServerClasspath(ctx android.MakeVarsContext) []string {
|
|||
return ctx.Config().OnceStringSlice(systemServerClasspathKey, func() []string {
|
||||
global := dexpreopt.GetGlobalConfig(ctx)
|
||||
var systemServerClasspathLocations []string
|
||||
for _, m := range *DexpreoptedSystemServerJars(ctx.Config()) {
|
||||
var dexpreoptJars = *DexpreoptedSystemServerJars(ctx.Config())
|
||||
// 1) The jars that are dexpreopted.
|
||||
for _, m := range dexpreoptJars {
|
||||
systemServerClasspathLocations = append(systemServerClasspathLocations,
|
||||
filepath.Join("/system/framework", m+".jar"))
|
||||
}
|
||||
// 2) The jars that are from an updatable apex.
|
||||
for _, m := range global.UpdatableSystemServerJars {
|
||||
systemServerClasspathLocations = append(systemServerClasspathLocations,
|
||||
dexpreopt.GetJarLocationFromApexJarPair(m))
|
||||
}
|
||||
// 3) The jars from make (which are not updatable, not preopted).
|
||||
for _, m := range dexpreopt.NonUpdatableSystemServerJars(ctx, global) {
|
||||
if !android.InList(m, dexpreoptJars) {
|
||||
systemServerClasspathLocations = append(systemServerClasspathLocations,
|
||||
filepath.Join("/system/framework", m+".jar"))
|
||||
}
|
||||
}
|
||||
if len(systemServerClasspathLocations) != len(global.SystemServerJars)+len(global.UpdatableSystemServerJars) {
|
||||
panic(fmt.Errorf("Wrong number of system server jars, got %d, expected %d",
|
||||
len(systemServerClasspathLocations),
|
||||
len(global.SystemServerJars)+len(global.UpdatableSystemServerJars)))
|
||||
}
|
||||
return systemServerClasspathLocations
|
||||
})
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue