//visibility:any_partition can be used with another visibility field

Bug: 321000103
Test: m nothing
Change-Id: I2f65ff4d51c65f974e2dc79c94dfefe180ddbfe4
This commit is contained in:
Jeongik Cha
2024-03-12 19:34:29 +09:00
parent 64342427b8
commit 31be352612
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{