Modify static lib stub library visiblity
java_sdk_library generates stub java_library module which compiles the stub generated from either source or txt files, which is toggled based on the build configuration. The java_api_library/java_library module that compiles the stubs should not be directly accessible to the modules outside of the sdk_library module scope, thus modify their visibility as private. Test: m nothing Bug: 299373105 Change-Id: Ia4a08bf6e65c521814c82f54ea43cc8d367834e3
This commit is contained in:
parent
55e775f94f
commit
786df93db0
2 changed files with 31 additions and 2 deletions
|
@ -1633,7 +1633,7 @@ func (module *SdkLibrary) createStubsLibrary(mctx android.DefaultableHookContext
|
|||
}{}
|
||||
|
||||
props.Name = proptools.StringPtr(module.sourceStubLibraryModuleName(apiScope))
|
||||
props.Visibility = childModuleVisibility(module.sdkLibraryProperties.Stubs_library_visibility)
|
||||
props.Visibility = []string{"//visibility:override", "//visibility:private"}
|
||||
// sources are generated from the droiddoc
|
||||
props.Srcs = []string{":" + module.stubsSourceModuleName(apiScope)}
|
||||
sdkVersion := module.sdkVersionForStubsLibrary(mctx, apiScope)
|
||||
|
@ -1829,7 +1829,7 @@ func (module *SdkLibrary) createApiLibrary(mctx android.DefaultableHookContext,
|
|||
}{}
|
||||
|
||||
props.Name = proptools.StringPtr(module.apiLibraryModuleName(apiScope))
|
||||
props.Visibility = childModuleVisibility(module.sdkLibraryProperties.Stubs_library_visibility)
|
||||
props.Visibility = []string{"//visibility:override", "//visibility:private"}
|
||||
|
||||
apiContributions := []string{}
|
||||
|
||||
|
|
|
@ -1474,3 +1474,32 @@ func TestJavaSdkLibrary_ApiLibrary(t *testing.T) {
|
|||
android.AssertStringEquals(t, "Module expected to contain full api surface api library", c.fullApiSurfaceStub, *m.properties.Full_api_surface_stub)
|
||||
}
|
||||
}
|
||||
|
||||
func TestStaticDepStubLibrariesVisibility(t *testing.T) {
|
||||
android.GroupFixturePreparers(
|
||||
prepareForJavaTest,
|
||||
PrepareForTestWithJavaSdkLibraryFiles,
|
||||
FixtureWithLastReleaseApis("foo"),
|
||||
android.FixtureMergeMockFs(
|
||||
map[string][]byte{
|
||||
"A.java": nil,
|
||||
"dir/Android.bp": []byte(
|
||||
`
|
||||
java_library {
|
||||
name: "bar",
|
||||
srcs: ["A.java"],
|
||||
libs: ["foo.stubs.from-source"],
|
||||
}
|
||||
`),
|
||||
"dir/A.java": nil,
|
||||
},
|
||||
).ExtendWithErrorHandler(
|
||||
android.FixtureExpectsAtLeastOneErrorMatchingPattern(
|
||||
`module "bar" variant "android_common": depends on //.:foo.stubs.from-source which is not visible to this module`)),
|
||||
).RunTestWithBp(t, `
|
||||
java_sdk_library {
|
||||
name: "foo",
|
||||
srcs: ["A.java"],
|
||||
}
|
||||
`)
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue