Prevent dynamically created java_api_contribution from inheriting
parent modules' visibility By default, dynamically created module inherits the parent module's visibility. When the parent module's visibility is set to "//visibility:private" or has any other specified visibility restrictions in the module definition, the created java_api_contribution module is not visible to java_api_library. Thus, override any inherited visibility properties and set the visiblity of the created java_api_contribution module to public. Test: m Change-Id: I5db60a5a1800e2ae28c9650eeb9a2f1c3b4f8989
This commit is contained in:
@@ -370,3 +370,36 @@ func TestDroidStubsApiContributionGeneration(t *testing.T) {
|
||||
|
||||
ctx.ModuleForTests("foo.api.contribution", "")
|
||||
}
|
||||
|
||||
func TestGeneratedApiContributionVisibilityTest(t *testing.T) {
|
||||
library_bp := `
|
||||
java_api_library {
|
||||
name: "bar",
|
||||
api_surface: "public",
|
||||
api_contributions: ["foo.api.contribution"],
|
||||
}
|
||||
`
|
||||
ctx, _ := testJavaWithFS(t, `
|
||||
droidstubs {
|
||||
name: "foo",
|
||||
srcs: ["A/a.java"],
|
||||
api_surface: "public",
|
||||
check_api: {
|
||||
current: {
|
||||
api_file: "A/current.txt",
|
||||
removed_api_file: "A/removed.txt",
|
||||
}
|
||||
},
|
||||
visibility: ["//a"],
|
||||
}
|
||||
`,
|
||||
map[string][]byte{
|
||||
"a/a.java": nil,
|
||||
"a/current.txt": nil,
|
||||
"a/removed.txt": nil,
|
||||
"b/Android.bp": []byte(library_bp),
|
||||
},
|
||||
)
|
||||
|
||||
ctx.ModuleForTests("bar", "android_common")
|
||||
}
|
||||
|
Reference in New Issue
Block a user