Merge "Migrate soong to use new sdk prebuilts."

This commit is contained in:
Anton Hansson
2018-04-18 15:33:46 +00:00
committed by Gerrit Code Review
2 changed files with 29 additions and 27 deletions

View File

@@ -387,24 +387,29 @@ func decodeSdkDep(ctx android.BaseContext, v string) sdkDep {
} }
} }
toFile := func(v string) sdkDep { toPrebuilt := func(sdk string) sdkDep {
isCore := strings.HasPrefix(v, "core_") var api, v string
if isCore { if strings.Contains(sdk, "_") {
v = strings.TrimPrefix(v, "core_") t := strings.Split(sdk, "_")
api = t[0]
v = t[1]
} else {
api = "public"
v = sdk
} }
dir := filepath.Join("prebuilts/sdk", v) dir := filepath.Join("prebuilts", "sdk", v, api)
jar := filepath.Join(dir, "android.jar") jar := filepath.Join(dir, "android.jar")
if isCore { // There's no aidl for other SDKs yet.
jar = filepath.Join(dir, "core.jar") // TODO(77525052): Add aidl files for other SDKs too.
} public_dir := filepath.Join("prebuilts", "sdk", v, "public")
aidl := filepath.Join(dir, "framework.aidl") aidl := filepath.Join(public_dir, "framework.aidl")
jarPath := android.ExistentPathForSource(ctx, jar) jarPath := android.ExistentPathForSource(ctx, jar)
aidlPath := android.ExistentPathForSource(ctx, aidl) aidlPath := android.ExistentPathForSource(ctx, aidl)
if (!jarPath.Valid() || !aidlPath.Valid()) && ctx.Config().AllowMissingDependencies() { if (!jarPath.Valid() || !aidlPath.Valid()) && ctx.Config().AllowMissingDependencies() {
return sdkDep{ return sdkDep{
invalidVersion: true, invalidVersion: true,
module: "sdk_v" + v, module: fmt.Sprintf("sdk_%s_%s_android", api, v),
} }
} }
@@ -439,7 +444,7 @@ func decodeSdkDep(ctx android.BaseContext, v string) sdkDep {
} }
if ctx.Config().UnbundledBuild() && v != "" { if ctx.Config().UnbundledBuild() && v != "" {
return toFile(v) return toPrebuilt(v)
} }
switch v { switch v {
@@ -457,7 +462,7 @@ func decodeSdkDep(ctx android.BaseContext, v string) sdkDep {
case "core_current": case "core_current":
return toModule("core.current.stubs", "") return toModule("core.current.stubs", "")
default: default:
return toFile(v) return toPrebuilt(v)
} }
} }

View File

@@ -151,17 +151,14 @@ func testContext(config android.Config, bp string,
"java-fg/b.java": nil, "java-fg/b.java": nil,
"java-fg/c.java": nil, "java-fg/c.java": nil,
"prebuilts/sdk/14/android.jar": nil, "prebuilts/sdk/14/public/android.jar": nil,
"prebuilts/sdk/14/framework.aidl": nil, "prebuilts/sdk/14/public/framework.aidl": nil,
"prebuilts/sdk/current/android.jar": nil, "prebuilts/sdk/14/system/android.jar": nil,
"prebuilts/sdk/current/framework.aidl": nil, "prebuilts/sdk/current/public/android.jar": nil,
"prebuilts/sdk/current/core.jar": nil, "prebuilts/sdk/current/public/framework.aidl": nil,
"prebuilts/sdk/system_current/android.jar": nil, "prebuilts/sdk/current/public/core.jar": nil,
"prebuilts/sdk/system_current/framework.aidl": nil, "prebuilts/sdk/current/system/android.jar": nil,
"prebuilts/sdk/system_14/android.jar": nil, "prebuilts/sdk/current/test/android.jar": nil,
"prebuilts/sdk/system_14/framework.aidl": nil,
"prebuilts/sdk/test_current/android.jar": nil,
"prebuilts/sdk/test_current/framework.aidl": nil,
// For framework-res, which is an implicit dependency for framework // For framework-res, which is an implicit dependency for framework
"AndroidManifest.xml": nil, "AndroidManifest.xml": nil,
@@ -340,7 +337,7 @@ var classpathTestcases = []struct {
properties: `sdk_version: "14",`, properties: `sdk_version: "14",`,
bootclasspath: []string{`""`}, bootclasspath: []string{`""`},
system: "bootclasspath", // special value to tell 1.9 test to expect bootclasspath system: "bootclasspath", // special value to tell 1.9 test to expect bootclasspath
classpath: []string{"prebuilts/sdk/14/android.jar"}, classpath: []string{"prebuilts/sdk/14/public/android.jar"},
}, },
{ {
@@ -362,7 +359,7 @@ var classpathTestcases = []struct {
properties: `sdk_version: "system_14",`, properties: `sdk_version: "system_14",`,
bootclasspath: []string{`""`}, bootclasspath: []string{`""`},
system: "bootclasspath", // special value to tell 1.9 test to expect bootclasspath system: "bootclasspath", // special value to tell 1.9 test to expect bootclasspath
classpath: []string{"prebuilts/sdk/system_14/android.jar"}, classpath: []string{"prebuilts/sdk/14/system/android.jar"},
}, },
{ {
@@ -864,9 +861,9 @@ func TestTurbine(t *testing.T) {
if len(barTurbineCombined.Inputs) != 2 || barTurbineCombined.Inputs[1].String() != fooHeaderJar { if len(barTurbineCombined.Inputs) != 2 || barTurbineCombined.Inputs[1].String() != fooHeaderJar {
t.Errorf("bar turbine combineJar inputs %v does not contain %q", barTurbineCombined.Inputs, fooHeaderJar) t.Errorf("bar turbine combineJar inputs %v does not contain %q", barTurbineCombined.Inputs, fooHeaderJar)
} }
if !strings.Contains(bazJavac.Args["classpath"], "prebuilts/sdk/14/android.jar") { if !strings.Contains(bazJavac.Args["classpath"], "prebuilts/sdk/14/public/android.jar") {
t.Errorf("baz javac classpath %v does not contain %q", bazJavac.Args["classpath"], t.Errorf("baz javac classpath %v does not contain %q", bazJavac.Args["classpath"],
"prebuilts/sdk/14/android.jar") "prebuilts/sdk/14/public/android.jar")
} }
} }