summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
author Jihoon Kang <jihoonkang@google.com> 2024-10-01 16:44:41 +0000
committer Jihoon Kang <jihoonkang@google.com> 2024-10-01 16:44:41 +0000
commit371a037efb673f40b7385c3ccbe2b09b6523a06f (patch)
tree2e864bf4e7f5b61fb2279cee35339cd46e9b92ea /java
parent05ff7f07209883f3bf34e9a3552db97f4847d792 (diff)
Make the java jni_libs property configurable
Bug: 323382414 Bug: 370563864 Test: m nothing --no-skip-soong-tests Change-Id: Iae8f472c81fbbb192effb4b3cf0066b6160e6b6c
Diffstat (limited to 'java')
-rw-r--r--java/app.go6
-rw-r--r--java/ravenwood.go8
-rw-r--r--java/robolectric.go4
3 files changed, 9 insertions, 9 deletions
diff --git a/java/app.go b/java/app.go
index b77793bad..f07d9e518 100644
--- a/java/app.go
+++ b/java/app.go
@@ -83,7 +83,7 @@ type appProperties struct {
Package_splits []string
// list of native libraries that will be provided in or alongside the resulting jar
- Jni_libs []string `android:"arch_variant"`
+ Jni_libs proptools.Configurable[[]string] `android:"arch_variant"`
// if true, use JNI libraries that link against platform APIs even if this module sets
// sdk_version.
@@ -311,7 +311,7 @@ func (a *AndroidApp) DepsMutator(ctx android.BottomUpMutatorContext) {
} else {
tag = jniInstallTag
}
- ctx.AddFarVariationDependencies(variation, tag, a.appProperties.Jni_libs...)
+ ctx.AddFarVariationDependencies(variation, tag, a.appProperties.Jni_libs.GetOrDefault(ctx, nil)...)
}
for _, aconfig_declaration := range a.aaptProperties.Flags_packages {
ctx.AddDependency(ctx.Module(), aconfigDeclarationTag, aconfig_declaration)
@@ -428,7 +428,7 @@ func (a *AndroidApp) checkAppSdkVersions(ctx android.ModuleContext) {
func (a *AndroidApp) checkEmbedJnis(ctx android.BaseModuleContext) {
apexInfo, _ := android.ModuleProvider(ctx, android.ApexInfoProvider)
apkInApex := !apexInfo.IsForPlatform()
- hasJnis := len(a.appProperties.Jni_libs) > 0
+ hasJnis := len(a.appProperties.Jni_libs.GetOrDefault(ctx, nil)) > 0
if apkInApex && hasJnis && !Bool(a.appProperties.Use_embedded_native_libs) {
ctx.ModuleErrorf("APK in APEX should have use_embedded_native_libs: true")
diff --git a/java/ravenwood.go b/java/ravenwood.go
index 9239bbd6b..4c9fdc212 100644
--- a/java/ravenwood.go
+++ b/java/ravenwood.go
@@ -54,7 +54,7 @@ func getLibPath(archType android.ArchType) string {
}
type ravenwoodTestProperties struct {
- Jni_libs []string
+ Jni_libs proptools.Configurable[[]string]
// Specify another android_app module here to copy it to the test directory, so that
// the ravenwood test can access it. This APK will be loaded as resources of the test
@@ -126,7 +126,7 @@ func (r *ravenwoodTest) DepsMutator(ctx android.BottomUpMutatorContext) {
}
// Add jni libs
- for _, lib := range r.ravenwoodTestProperties.Jni_libs {
+ for _, lib := range r.ravenwoodTestProperties.Jni_libs.GetOrDefault(ctx, nil) {
ctx.AddVariationDependencies(ctx.Config().BuildOSTarget.Variations(), jniLibTag, lib)
}
@@ -238,7 +238,7 @@ func (r *ravenwoodTest) AndroidMkEntries() []android.AndroidMkEntries {
type ravenwoodLibgroupProperties struct {
Libs []string
- Jni_libs []string
+ Jni_libs proptools.Configurable[[]string]
// We use this to copy framework-res.apk to the ravenwood runtime directory.
Data []string `android:"path,arch_variant"`
@@ -280,7 +280,7 @@ func (r *ravenwoodLibgroup) DepsMutator(ctx android.BottomUpMutatorContext) {
for _, lib := range r.ravenwoodLibgroupProperties.Libs {
ctx.AddVariationDependencies(nil, ravenwoodLibContentTag, lib)
}
- for _, lib := range r.ravenwoodLibgroupProperties.Jni_libs {
+ for _, lib := range r.ravenwoodLibgroupProperties.Jni_libs.GetOrDefault(ctx, nil) {
ctx.AddVariationDependencies(ctx.Config().BuildOSTarget.Variations(), jniLibTag, lib)
}
}
diff --git a/java/robolectric.go b/java/robolectric.go
index 374fc5f78..30c720352 100644
--- a/java/robolectric.go
+++ b/java/robolectric.go
@@ -76,7 +76,7 @@ type robolectricProperties struct {
// Use strict mode to limit access of Robolectric API directly. See go/roboStrictMode
Strict_mode *bool
- Jni_libs []string
+ Jni_libs proptools.Configurable[[]string]
}
type robolectricTest struct {
@@ -131,7 +131,7 @@ func (r *robolectricTest) DepsMutator(ctx android.BottomUpMutatorContext) {
ctx.AddFarVariationDependencies(ctx.Config().BuildOSCommonTarget.Variations(),
roboRuntimesTag, "robolectric-android-all-prebuilts")
- for _, lib := range r.robolectricProperties.Jni_libs {
+ for _, lib := range r.robolectricProperties.Jni_libs.GetOrDefault(ctx, nil) {
ctx.AddVariationDependencies(ctx.Config().BuildOSTarget.Variations(), jniLibTag, lib)
}
}