Correct link type for module stubs
Module stubs compile against module_current, so any module depending on them had to compile against module_current (or broader) too. Treat them as the API surface the stubs are for. Bug: 157010342 Test: m Change-Id: I49b9082dc1b5afe6c22e94126e574dd8061f0f39
This commit is contained in:
parent
ac103461a4
commit
0bd88d0b4e
2 changed files with 22 additions and 0 deletions
|
@ -843,6 +843,10 @@ func (m *Module) getLinkType(name string) (ret linkType, stubs bool) {
|
|||
return javaSystem, true
|
||||
}
|
||||
|
||||
if stub, linkType := moduleStubLinkType(name); stub {
|
||||
return linkType, true
|
||||
}
|
||||
|
||||
ver := m.sdkVersion()
|
||||
switch ver.kind {
|
||||
case sdkCore:
|
||||
|
|
|
@ -1224,6 +1224,24 @@ func (s *frameworkModulesNamingScheme) apiModuleName(scope *apiScope, baseName s
|
|||
|
||||
var _ sdkLibraryComponentNamingScheme = (*frameworkModulesNamingScheme)(nil)
|
||||
|
||||
func moduleStubLinkType(name string) (stub bool, ret linkType) {
|
||||
// This suffix-based approach is fragile and could potentially mis-trigger.
|
||||
// TODO(b/155164730): Clean this up when modules no longer reference sdk_lib stubs directly.
|
||||
if strings.HasSuffix(name, ".stubs.public") || strings.HasSuffix(name, "-stubs-publicapi") {
|
||||
return true, javaSdk
|
||||
}
|
||||
if strings.HasSuffix(name, ".stubs.system") || strings.HasSuffix(name, "-stubs-systemapi") {
|
||||
return true, javaSystem
|
||||
}
|
||||
if strings.HasSuffix(name, ".stubs.module_lib") || strings.HasSuffix(name, "-stubs-module_libs_api") {
|
||||
return true, javaModule
|
||||
}
|
||||
if strings.HasSuffix(name, ".stubs.test") {
|
||||
return true, javaSystem
|
||||
}
|
||||
return false, javaPlatform
|
||||
}
|
||||
|
||||
// java_sdk_library is a special Java library that provides optional platform APIs to apps.
|
||||
// In practice, it can be viewed as a combination of several modules: 1) stubs library that clients
|
||||
// are linked against to, 2) droiddoc module that internally generates API stubs source files,
|
||||
|
|
Loading…
Reference in a new issue