Merge "Modify static lib stub library visiblity" into main am: 968c735108

Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2744913

Change-Id: Idbe5d3ee533ceabb35172a586cd89ae567d16554
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Treehugger Robot 2023-09-07 13:14:13 +00:00 committed by Automerger Merge Worker
commit f7fc893c2a
2 changed files with 31 additions and 2 deletions

View file

@ -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{}

View file

@ -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"],
}
`)
}