Use excludes from OS axis for OsAndInApex

The axis for OS and in APEX was previously ignoring the excludes from
OS, which would result in excludes for non-Android OSes being
incorrectly ignored.

Test: go test Soong tests
Test: b build //hardware/libhardware:all
Bug: 260131489
Change-Id: Ie77f763bea0f473ac69a0c6b6bc3216e7359ad12
This commit is contained in:
Liz Kammer
2022-11-23 09:42:05 -05:00
parent ba36441424
commit ffc17e4edb
4 changed files with 84 additions and 0 deletions

View File

@@ -2976,6 +2976,63 @@ cc_library {
})
}
func TestCcLibraryExcludesLibsHost(t *testing.T) {
runCcLibraryTestCase(t, Bp2buildTestCase{
ModuleTypeUnderTest: "cc_library",
ModuleTypeUnderTestFactory: cc.LibraryFactory,
Filesystem: map[string]string{
"bar.map.txt": "",
},
Blueprint: simpleModuleDoNotConvertBp2build("cc_library", "bazlib") + `
cc_library {
name: "quxlib",
stubs: { symbol_file: "bar.map.txt", versions: ["current"] },
bazel_module: { bp2build_available: false },
}
cc_library {
name: "barlib",
stubs: { symbol_file: "bar.map.txt", versions: ["28", "29", "current"] },
bazel_module: { bp2build_available: false },
}
cc_library {
name: "foolib",
shared_libs: ["barlib", "quxlib"],
target: {
host: {
shared_libs: ["bazlib"],
exclude_shared_libs: ["barlib"],
},
},
include_build_directory: false,
bazel_module: { bp2build_available: true },
}`,
ExpectedBazelTargets: makeCcLibraryTargets("foolib", AttrNameToString{
"implementation_dynamic_deps": `select({
"//build/bazel/platforms/os:darwin": [":bazlib"],
"//build/bazel/platforms/os:linux": [":bazlib"],
"//build/bazel/platforms/os:linux_bionic": [":bazlib"],
"//build/bazel/platforms/os:linux_musl": [":bazlib"],
"//build/bazel/platforms/os:windows": [":bazlib"],
"//conditions:default": [],
}) + select({
"//build/bazel/platforms/os:darwin": [":quxlib"],
"//build/bazel/platforms/os:linux": [":quxlib"],
"//build/bazel/platforms/os:linux_bionic": [":quxlib"],
"//build/bazel/platforms/os:linux_musl": [":quxlib"],
"//build/bazel/platforms/os:windows": [":quxlib"],
"//build/bazel/rules/apex:android-in_apex": [
":barlib_stub_libs_current",
":quxlib_stub_libs_current",
],
"//conditions:default": [
":barlib",
":quxlib",
],
})`,
}),
})
}
func TestCcLibraryEscapeLdflags(t *testing.T) {
runCcLibraryTestCase(t, Bp2buildTestCase{
ModuleTypeUnderTest: "cc_library",