summaryrefslogtreecommitdiff
path: root/java/sdk_library.go
diff options
context:
space:
mode:
author Anton Hansson <hansson@google.com> 2020-06-05 19:32:33 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2020-06-05 19:32:33 +0000
commit4f3dc39a47169066d7ad8d4e51edf90bdb47aed5 (patch)
tree24804b0b94461b18c3e4467fe83b2098221bd348 /java/sdk_library.go
parent24fae40b8df540bc195629c360fc7edf05cc8f16 (diff)
parent2d0c1946fade95005c7408fc46d4533fb9bb1da3 (diff)
Merge "Correct link type for module stubs"
Diffstat (limited to 'java/sdk_library.go')
-rw-r--r--java/sdk_library.go18
1 files changed, 18 insertions, 0 deletions
diff --git a/java/sdk_library.go b/java/sdk_library.go
index ee62390e7..de5ee03c4 100644
--- a/java/sdk_library.go
+++ b/java/sdk_library.go
@@ -1577,6 +1577,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,