Stop sdk_library generated api_library to depend on full surface api_library
Since full_api_surface_libs extract class files instead of srcjar file, full_api_surface_stub can be replace with android_*_stubs_current, instead of the api_library android_*_stubs_current.from-text. Functionally, the class files of the two modules are identical (in from-text stub build), but depending on the from-text java_api_library leads to missing dependency errors in partial branches (especially ART branches). To resolve this problem, make sdk_library generated api_library depend on the missing dependency handled android_*_stubs_current. Since android_module_lib_stubs_current.from-text does not have its from-source equivalent, this can remain as dependency as the module is moved to build/soong in aosp/2674196 Test: m (default to from-text stub build) Bug: 274805756 Change-Id: Ic8bbd25252e5f9f1dc7c059ce6b00a951188985d
This commit is contained in:
@@ -1853,7 +1853,7 @@ func (module *SdkLibrary) createApiLibrary(mctx android.DefaultableHookContext,
|
|||||||
props.Libs = append(props.Libs, module.sdkLibraryProperties.Stub_only_libs...)
|
props.Libs = append(props.Libs, module.sdkLibraryProperties.Stub_only_libs...)
|
||||||
props.Libs = append(props.Libs, "stub-annotations")
|
props.Libs = append(props.Libs, "stub-annotations")
|
||||||
props.Static_libs = module.sdkLibraryProperties.Stub_only_static_libs
|
props.Static_libs = module.sdkLibraryProperties.Stub_only_static_libs
|
||||||
props.Full_api_surface_stub = proptools.StringPtr(apiScope.kind.DefaultJavaLibraryName() + ".from-text")
|
props.Full_api_surface_stub = proptools.StringPtr(apiScope.kind.DefaultJavaLibraryName())
|
||||||
if alternativeFullApiSurfaceStub != "" {
|
if alternativeFullApiSurfaceStub != "" {
|
||||||
props.Full_api_surface_stub = proptools.StringPtr(alternativeFullApiSurfaceStub)
|
props.Full_api_surface_stub = proptools.StringPtr(alternativeFullApiSurfaceStub)
|
||||||
}
|
}
|
||||||
|
@@ -1449,17 +1449,17 @@ func TestJavaSdkLibrary_ApiLibrary(t *testing.T) {
|
|||||||
{
|
{
|
||||||
scope: apiScopePublic,
|
scope: apiScopePublic,
|
||||||
apiContributions: []string{"foo.stubs.source.api.contribution"},
|
apiContributions: []string{"foo.stubs.source.api.contribution"},
|
||||||
fullApiSurfaceStub: "android_stubs_current.from-text",
|
fullApiSurfaceStub: "android_stubs_current",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
scope: apiScopeSystem,
|
scope: apiScopeSystem,
|
||||||
apiContributions: []string{"foo.stubs.source.system.api.contribution", "foo.stubs.source.api.contribution"},
|
apiContributions: []string{"foo.stubs.source.system.api.contribution", "foo.stubs.source.api.contribution"},
|
||||||
fullApiSurfaceStub: "android_system_stubs_current.from-text",
|
fullApiSurfaceStub: "android_system_stubs_current",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
scope: apiScopeTest,
|
scope: apiScopeTest,
|
||||||
apiContributions: []string{"foo.stubs.source.test.api.contribution", "foo.stubs.source.system.api.contribution", "foo.stubs.source.api.contribution"},
|
apiContributions: []string{"foo.stubs.source.test.api.contribution", "foo.stubs.source.system.api.contribution", "foo.stubs.source.api.contribution"},
|
||||||
fullApiSurfaceStub: "android_test_stubs_current.from-text",
|
fullApiSurfaceStub: "android_test_stubs_current",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
scope: apiScopeModuleLib,
|
scope: apiScopeModuleLib,
|
||||||
|
Reference in New Issue
Block a user