summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Joe Onorato <joeo@google.com> 2023-08-25 20:23:32 -0700
committer Joe Onorato <joeo@google.com> 2023-08-26 08:26:18 -0700
commit8f75585b375624c6e72599bc4366f1d636a4a475 (patch)
treec4f506550e74c83aa1a62bbe0eb733a205f4905b
parent1725b20d144e7f7054e63f88e297c5461e6dbe9e (diff)
Add aconfig annotations for java_aconfig_library
Test: m Bug: 289087078 Change-Id: I860b91f984b2f2c596360490337fb25a4df7a988
-rw-r--r--aconfig/java_aconfig_library.go3
-rw-r--r--java/generated_java_library.go21
-rw-r--r--java/testing.go2
3 files changed, 26 insertions, 0 deletions
diff --git a/aconfig/java_aconfig_library.go b/aconfig/java_aconfig_library.go
index 53f8bd1ba..4db0ef794 100644
--- a/aconfig/java_aconfig_library.go
+++ b/aconfig/java_aconfig_library.go
@@ -52,6 +52,9 @@ func (callbacks *JavaAconfigDeclarationsLibraryCallbacks) DepsMutator(module *ja
} else {
ctx.AddDependency(ctx.Module(), declarationsTag, declarations)
}
+
+ // Add aconfig-annotations-lib as a dependency for the optimization / code stripping annotations
+ module.AddSharedLibrary("aconfig-annotations-lib")
}
func (callbacks *JavaAconfigDeclarationsLibraryCallbacks) GenerateSourceJarBuildActions(module *java.GeneratedJavaLibraryModule, ctx android.ModuleContext) android.Path {
diff --git a/java/generated_java_library.go b/java/generated_java_library.go
index 1cab6acc4..578237e3b 100644
--- a/java/generated_java_library.go
+++ b/java/generated_java_library.go
@@ -22,6 +22,10 @@ type GeneratedJavaLibraryModule struct {
Library
callbacks GeneratedJavaLibraryCallbacks
moduleName string
+
+ // true if we've already called DepsMutator. Can't call AddLibrary or AddSharedLibrary
+ // after DepsMutator.
+ depsMutatorDone bool
}
type GeneratedJavaLibraryCallbacks interface {
@@ -59,8 +63,25 @@ func GeneratedJavaLibraryModuleFactory(moduleName string, callbacks GeneratedJav
return module
}
+// Add a java shared library as a dependency, as if they had said `libs: [ "name" ]`
+func (module *GeneratedJavaLibraryModule) AddSharedLibrary(name string) {
+ if module.depsMutatorDone {
+ panic("GeneratedJavaLibraryModule.AddLibrary called after DepsMutator")
+ }
+ module.Library.properties.Libs = append(module.Library.properties.Libs, name)
+}
+
+// Add a java shared library as a dependency, as if they had said `libs: [ "name" ]`
+func (module *GeneratedJavaLibraryModule) AddStaticLibrary(name string) {
+ if module.depsMutatorDone {
+ panic("GeneratedJavaLibraryModule.AddStaticLibrary called after DepsMutator")
+ }
+ module.Library.properties.Static_libs = append(module.Library.properties.Static_libs, name)
+}
+
func (module *GeneratedJavaLibraryModule) DepsMutator(ctx android.BottomUpMutatorContext) {
module.callbacks.DepsMutator(module, ctx)
+ module.depsMutatorDone = true
module.Library.DepsMutator(ctx)
}
diff --git a/java/testing.go b/java/testing.go
index 3a238d76f..7f6ee57d3 100644
--- a/java/testing.go
+++ b/java/testing.go
@@ -385,6 +385,8 @@ func gatherRequiredDepsForTest() string {
"kotlin-stdlib-jdk8",
"kotlin-annotations",
"stub-annotations",
+
+ "aconfig-annotations-lib",
}
for _, extra := range extraModules {