arch specific dependencies are supported for apex
The apex module type now supports arch specific native dependencies. apex { name: "myapex", arch: { arm64: { native_shared_libraries: ["arm64_only_lib"], }, }, } Bug: 174639241 Test: m nothing Change-Id: I3f00aa87c480d4127b27d33e9620c4336824e937
This commit is contained in:
@@ -3890,6 +3890,64 @@ func TestApexWithTarget(t *testing.T) {
|
||||
ensureListContains(t, ctx.ModuleVariantsForTests("mylib2"), "android_arm64_armv8-a_shared")
|
||||
}
|
||||
|
||||
func TestApexWithArch(t *testing.T) {
|
||||
ctx, _ := testApex(t, `
|
||||
apex {
|
||||
name: "myapex",
|
||||
key: "myapex.key",
|
||||
arch: {
|
||||
arm64: {
|
||||
native_shared_libs: ["mylib.arm64"],
|
||||
},
|
||||
x86_64: {
|
||||
native_shared_libs: ["mylib.x64"],
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
apex_key {
|
||||
name: "myapex.key",
|
||||
public_key: "testkey.avbpubkey",
|
||||
private_key: "testkey.pem",
|
||||
}
|
||||
|
||||
cc_library {
|
||||
name: "mylib.arm64",
|
||||
srcs: ["mylib.cpp"],
|
||||
system_shared_libs: [],
|
||||
stl: "none",
|
||||
// TODO: remove //apex_available:platform
|
||||
apex_available: [
|
||||
"//apex_available:platform",
|
||||
"myapex",
|
||||
],
|
||||
}
|
||||
|
||||
cc_library {
|
||||
name: "mylib.x64",
|
||||
srcs: ["mylib.cpp"],
|
||||
system_shared_libs: [],
|
||||
stl: "none",
|
||||
// TODO: remove //apex_available:platform
|
||||
apex_available: [
|
||||
"//apex_available:platform",
|
||||
"myapex",
|
||||
],
|
||||
}
|
||||
`)
|
||||
|
||||
apexRule := ctx.ModuleForTests("myapex", "android_common_myapex_image").Rule("apexRule")
|
||||
copyCmds := apexRule.Args["copy_commands"]
|
||||
|
||||
// Ensure that apex variant is created for the direct dep
|
||||
ensureListContains(t, ctx.ModuleVariantsForTests("mylib.arm64"), "android_arm64_armv8-a_shared_apex10000")
|
||||
ensureListNotContains(t, ctx.ModuleVariantsForTests("mylib.x64"), "android_arm64_armv8-a_shared_apex10000")
|
||||
|
||||
// Ensure that both direct and indirect deps are copied into apex
|
||||
ensureContains(t, copyCmds, "image.apex/lib64/mylib.arm64.so")
|
||||
ensureNotContains(t, copyCmds, "image.apex/lib64/mylib.x64.so")
|
||||
}
|
||||
|
||||
func TestApexWithShBinary(t *testing.T) {
|
||||
ctx, _ := testApex(t, `
|
||||
apex {
|
||||
|
Reference in New Issue
Block a user