summaryrefslogtreecommitdiff
path: root/api/api.go
diff options
context:
space:
mode:
author Anton Hansson <hansson@google.com> 2022-01-13 09:45:12 +0000
committer Anton Hansson <hansson@google.com> 2022-01-17 19:07:09 +0000
commitcb00f945962f9e6a18496de9897c6f81a5c41256 (patch)
tree4af2c13e4868e013edeb999098c24c5143f3027c /api/api.go
parent05e944d8df7da63f2921266d92e6e650d64160e7 (diff)
Convert merged module lib stub to api.go
Bug: 169103987 Test: m framework-updatable-stubs-module_libs_api and diff intermediates folder before and after. Merged-In: I6018791ae136bc764a6e846078c6bce59bcc123b Change-Id: I6018791ae136bc764a6e846078c6bce59bcc123b
Diffstat (limited to 'api/api.go')
-rw-r--r--api/api.go29
1 files changed, 29 insertions, 0 deletions
diff --git a/api/api.go b/api/api.go
index 14fe09ee36da..3b0e300c88f3 100644
--- a/api/api.go
+++ b/api/api.go
@@ -21,6 +21,7 @@ import (
"android/soong/android"
"android/soong/genrule"
+ "android/soong/java"
)
const art = "art.module.public.api"
@@ -73,6 +74,13 @@ type genruleProps struct {
Visibility []string
}
+type libraryProps struct {
+ Name *string
+ Sdk_version *string
+ Static_libs []string
+ Visibility []string
+}
+
// Struct to pass parameters for the various merged [current|removed].txt file modules we create.
type MergedTxtDefinition struct {
// "current.txt" or "removed.txt"
@@ -169,6 +177,25 @@ func createFilteredApiVersions(ctx android.LoadHookContext, modules []string) {
ctx.CreateModule(genrule.GenRuleFactory, &props)
}
+func createMergedModuleLibStubs(ctx android.LoadHookContext, modules []string) {
+ // The user of this module compiles against the "core" SDK, so remove core libraries to avoid dupes.
+ modules = removeAll(modules, []string{art, conscrypt, i18n})
+ props := libraryProps{}
+ props.Name = proptools.StringPtr("framework-updatable-stubs-module_libs_api")
+ props.Static_libs = appendStr(modules, ".stubs.module_lib")
+ props.Sdk_version = proptools.StringPtr("module_current")
+ props.Visibility = []string{"//frameworks/base"}
+ ctx.CreateModule(java.LibraryFactory, &props)
+}
+
+func appendStr(modules []string, s string) []string {
+ a := make([]string, 0, len(modules))
+ for _, module := range modules {
+ a = append(a, module+s)
+ }
+ return a
+}
+
func createSrcs(base string, modules []string, tag string) []string {
a := make([]string, 0, len(modules)+1)
a = append(a, base)
@@ -246,6 +273,8 @@ func (a *CombinedApis) createInternalModules(ctx android.LoadHookContext) {
createMergedStubsSrcjar(ctx, bootclasspath)
+ createMergedModuleLibStubs(ctx, bootclasspath)
+
createMergedAnnotations(ctx, bootclasspath)
createFilteredApiVersions(ctx, bootclasspath)