Merge "Prevent dynamically created java_api_contribution from inheriting parent modules' visibility"
This commit is contained in:
commit
800f64078c
2 changed files with 35 additions and 0 deletions
|
@ -878,11 +878,13 @@ func (d *Droidstubs) createApiContribution(ctx android.DefaultableHookContext) {
|
|||
Name *string
|
||||
Api_surface *string
|
||||
Api_file *string
|
||||
Visibility []string
|
||||
}{}
|
||||
|
||||
props.Name = proptools.StringPtr(d.Name() + ".api.contribution")
|
||||
props.Api_surface = api_surface
|
||||
props.Api_file = api_file
|
||||
props.Visibility = []string{"//visibility:override", "//visibility:public"}
|
||||
|
||||
ctx.CreateModule(ApiContributionFactory, &props)
|
||||
}
|
||||
|
|
|
@ -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")
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue