summaryrefslogtreecommitdiff
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
parent05ff7f07209883f3bf34e9a3552db97f4847d792 (diff)
Make the java jni_libs property configurable
Bug: 323382414 Bug: 370563864 Test: m nothing --no-skip-soong-tests Change-Id: Iae8f472c81fbbb192effb4b3cf0066b6160e6b6c
-rw-r--r--apex/apex.go6
-rw-r--r--java/app.go6
-rw-r--r--java/ravenwood.go8
-rw-r--r--java/robolectric.go4
4 files changed, 12 insertions, 12 deletions
diff --git a/apex/apex.go b/apex/apex.go
index aff69c12f..35f78ccc4 100644
--- a/apex/apex.go
+++ b/apex/apex.go
@@ -209,7 +209,7 @@ type ApexNativeDependencies struct {
Native_shared_libs proptools.Configurable[[]string]
// List of JNI libraries that are embedded inside this APEX.
- Jni_libs []string
+ Jni_libs proptools.Configurable[[]string]
// List of rust dyn libraries that are embedded inside this APEX.
Rust_dyn_libs []string
@@ -295,7 +295,7 @@ type ResolvedApexNativeDependencies struct {
// Merge combines another ApexNativeDependencies into this one
func (a *ResolvedApexNativeDependencies) Merge(ctx android.BaseMutatorContext, b ApexNativeDependencies) {
a.Native_shared_libs = append(a.Native_shared_libs, b.Native_shared_libs.GetOrDefault(ctx, nil)...)
- a.Jni_libs = append(a.Jni_libs, b.Jni_libs...)
+ a.Jni_libs = append(a.Jni_libs, b.Jni_libs.GetOrDefault(ctx, nil)...)
a.Rust_dyn_libs = append(a.Rust_dyn_libs, b.Rust_dyn_libs...)
a.Binaries = append(a.Binaries, b.Binaries.GetOrDefault(ctx, nil)...)
a.Tests = append(a.Tests, b.Tests...)
@@ -846,7 +846,7 @@ func (a *apexBundle) DepsMutator(ctx android.BottomUpMutatorContext) {
deps.Merge(ctx, ApexNativeDependencies{
Native_shared_libs: proptools.NewConfigurable[[]string](nil, nil),
Tests: nil,
- Jni_libs: nil,
+ Jni_libs: proptools.NewConfigurable[[]string](nil, nil),
Binaries: a.properties.Binaries,
})
}
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)
}
}