Add support for variant_prepend properties in bp2build for cc library
Some properties in soong are marked "variant_prepend", which means in bp2build output, variant properties(select ...) should come before general properties. Prepend property is added in StringListAttribute stuct so that bp2build can handlle variant_prepend properly, if Prepend is properly set in different module logics. This change also coordinates cc library with Prepend. Coordination with other module types will be in separate CLs. Bug: 261644490 Test: TestCcLibraryHeadersSimple, TestCcLibraryHeadersArchAndTargetExportSystemIncludes and TH Change-Id: I3b61c491c54bbe91ba9aa2af9b4c84193c91ae7f
This commit is contained in:
@@ -107,15 +107,15 @@ cc_library_headers {
|
||||
}`,
|
||||
ExpectedBazelTargets: []string{
|
||||
MakeBazelTarget("cc_library_headers", "foo_headers", AttrNameToString{
|
||||
"export_includes": `[
|
||||
"dir-1",
|
||||
"dir-2",
|
||||
] + select({
|
||||
"export_includes": `select({
|
||||
"//build/bazel/platforms/arch:arm64": ["arch_arm64_exported_include_dir"],
|
||||
"//build/bazel/platforms/arch:x86": ["arch_x86_exported_include_dir"],
|
||||
"//build/bazel/platforms/arch:x86_64": ["arch_x86_64_exported_include_dir"],
|
||||
"//conditions:default": [],
|
||||
})`,
|
||||
}) + [
|
||||
"dir-1",
|
||||
"dir-2",
|
||||
]`,
|
||||
"sdk_version": `"current"`,
|
||||
"min_sdk_version": `"29"`,
|
||||
}),
|
||||
@@ -340,16 +340,16 @@ func TestCcLibraryHeadersArchAndTargetExportSystemIncludes(t *testing.T) {
|
||||
}`,
|
||||
ExpectedBazelTargets: []string{
|
||||
MakeBazelTarget("cc_library_headers", "foo_headers", AttrNameToString{
|
||||
"export_system_includes": `["shared_include_dir"] + select({
|
||||
"//build/bazel/platforms/arch:arm": ["arm_include_dir"],
|
||||
"//build/bazel/platforms/arch:x86_64": ["x86_64_include_dir"],
|
||||
"//conditions:default": [],
|
||||
}) + select({
|
||||
"export_system_includes": `select({
|
||||
"//build/bazel/platforms/os:android": ["android_include_dir"],
|
||||
"//build/bazel/platforms/os:darwin": ["darwin_include_dir"],
|
||||
"//build/bazel/platforms/os:linux": ["linux_include_dir"],
|
||||
"//conditions:default": [],
|
||||
})`,
|
||||
}) + select({
|
||||
"//build/bazel/platforms/arch:arm": ["arm_include_dir"],
|
||||
"//build/bazel/platforms/arch:x86_64": ["x86_64_include_dir"],
|
||||
"//conditions:default": [],
|
||||
}) + ["shared_include_dir"]`,
|
||||
}),
|
||||
},
|
||||
})
|
||||
|
Reference in New Issue
Block a user