Merge "//visibility:any_partition can be used with another visibility field" into main

This commit is contained in:
Jeongik Cha 2024-03-15 02:51:00 +00:00 committed by Gerrit Code Review
commit 8b0192d031
2 changed files with 24 additions and 1 deletions

View file

@ -303,7 +303,10 @@ func checkRules(ctx BaseModuleContext, currentPkg, property string, visibility [
if pkg == "visibility" {
switch name {
case "private", "public", "any_partition":
case "private", "public":
case "any_partition":
// any_partition can be used with another visibility fields
continue
case "legacy_public":
ctx.PropertyErrorf(property, "//visibility:legacy_public must not be used")
continue

View file

@ -1920,6 +1920,26 @@ var visibilityTests = []struct {
}`),
},
},
{
name: "any_partition visibility works with the other visibility",
fs: MockFS{
"top/Android.bp": []byte(`
android_filesystem {
name: "foo",
deps: ["bar"],
}`),
"top2/Android.bp": []byte(``),
"top/nested/Android.bp": []byte(`
package(default_visibility=["//visibility:private"])
mock_library {
name: "bar",
visibility: [
"//top2",
"//visibility:any_partition"
],
}`),
},
},
{
name: "any_partition visibility doesn't work for non-partitions",
fs: MockFS{