Merge "Revert^2 "Add sdk mutator for native modules"" am: ff550f3e13 am: 7af7725de1

Change-Id: I9a947c10e593f7b1647440acca4de08952e7928e
This commit is contained in:
Colin Cross
2020-04-08 18:42:10 +00:00
committed by Automerger Merge Worker
21 changed files with 401 additions and 18 deletions

View File

@@ -214,6 +214,13 @@ func (a *AndroidApp) DepsMutator(ctx android.BottomUpMutatorContext) {
for _, jniTarget := range ctx.MultiTargets() {
variation := append(jniTarget.Variations(),
blueprint.Variation{Mutator: "link", Variation: "shared"})
// If the app builds against an Android SDK use the SDK variant of JNI dependencies
// unless jni_uses_platform_apis is set.
if a.sdkVersion().specified() && a.sdkVersion().kind != sdkCorePlatform &&
!Bool(a.appProperties.Jni_uses_platform_apis) {
variation = append(variation, blueprint.Variation{Mutator: "sdk", Variation: "sdk"})
}
ctx.AddFarVariationDependencies(variation, tag, a.appProperties.Jni_libs...)
}

View File

@@ -791,6 +791,7 @@ func TestJNIABI(t *testing.T) {
cc_library {
name: "libjni",
system_shared_libs: [],
sdk_version: "current",
stl: "none",
}
@@ -928,26 +929,26 @@ func TestJNIPackaging(t *testing.T) {
android_test {
name: "test",
sdk_version: "core_platform",
sdk_version: "current",
jni_libs: ["libjni"],
}
android_test {
name: "test_noembed",
sdk_version: "core_platform",
sdk_version: "current",
jni_libs: ["libjni"],
use_embedded_native_libs: false,
}
android_test_helper_app {
name: "test_helper",
sdk_version: "core_platform",
sdk_version: "current",
jni_libs: ["libjni"],
}
android_test_helper_app {
name: "test_helper_noembed",
sdk_version: "core_platform",
sdk_version: "current",
jni_libs: ["libjni"],
use_embedded_native_libs: false,
}
@@ -979,6 +980,10 @@ func TestJNIPackaging(t *testing.T) {
if g, w := !strings.Contains(jniLibZip.Args["jarArgs"], "-L 0"), test.compressed; g != w {
t.Errorf("expected jni compressed %v, got %v", w, g)
}
if !strings.Contains(jniLibZip.Implicits[0].String(), "_sdk_") {
t.Errorf("expected input %q to use sdk variant", jniLibZip.Implicits[0].String())
}
}
})
}