platform_build_soong/java
Jiyong Park e716807083 Install transitive deps of jni libs, but not the jni libs themselves
Consider this case:

app --(jni_libs)--> libfoo --(shared_libs)--> libprivate

Only libfoo is embedded into the app. libprivate is not embedded because
libprivate is very likely to be depended on by other components in the
platform, in which case it will anyway be installed to /system/lib.
Embedding libprivate into the app will increase the storage usage as a
whole. Furthermore, if libprivate is not a shared lib but a config file
(of type prebuilt_etc), it can't be embedded and therefore must be
installed outside of the app.

However, a problem occurs when libprivate is not depended on by anyone
else. Then libprivate is not installed to the system partition, causing
an error at runtime.

This CL fixes that by making the jni_libs dependency to implement the
new SKipToTransitiveDepsTag interface. Now, jni_libs themselves are not
installed, but their transitive deps are depended on by the app
containing the jni libs.

Bug: 330276359
Test: m NfcNci and check if libnfc-nci.config is installed.
Test: m CarService and check android.hardware.automotive.evs-V2-ndk.so
is installed as well.
Test: go test ./... under soong/java

Change-Id: I04cc92b7fad768a20ec60a02b3e7534641b1e74d
2024-05-10 14:03:07 +09:00
..
config Remove "exported" ninja variables 2024-04-09 09:42:37 -07:00
core-libraries Enable non-"everything" stubs generation in java_api_library 2024-02-28 07:55:32 +00:00
aapt2.go Merge changes from topic "aconfig_dump_map" into main am: 25c187cc7d am: 1ed5d5ca20 am: 1befeeb5e8 2023-12-08 11:31:22 +00:00
aar.go Allow overriding android_library_import manifests 2024-04-25 20:46:22 +00:00
aar_test.go Make container mandatory in aconfig_declarations. 2024-04-24 16:41:57 +00:00
Android.bp Add android_ravenwood_test build rule 2024-02-08 09:25:35 -08:00
android_manifest.go Add environment variable UNBUNDLED_BUILD_TARGET_SDK_WITH_DESSERT_SHA 2024-02-12 21:12:58 +00:00
android_manifest_test.go Revert "Revert "Support transitive dependencies through android_..." 2024-03-23 04:43:41 +00:00
android_resources.go
androidmk.go Revert^2 "Always embed jni libs and store uncompressed" 2024-05-10 06:12:54 +09:00
androidmk_test.go Revert^2 "Always embed jni libs and store uncompressed" 2024-05-10 06:12:54 +09:00
app.go Revert "Revert "Collect transitve deps of jni libs only for bund..." 2024-05-10 06:12:54 +09:00
app_builder.go Reapply "Use R8 for resource shrinking" 2023-11-29 05:07:50 +00:00
app_import.go Refactor the contruction of the manifest check inputs. 2024-04-15 11:15:41 +00:00
app_import_test.go Make the enabled property configurable 2024-05-02 15:41:24 -07:00
app_set.go Generate info about the selected app variant in platform builds 2024-03-14 18:12:30 +00:00
app_set_test.go
app_test.go Install transitive deps of jni libs, but not the jni libs themselves 2024-05-10 14:03:07 +09:00
base.go Revert^2 "Remove compilation actions from java sdk library" 2024-05-08 17:46:31 +00:00
boot_jars.go Make the enabled property configurable 2024-05-02 15:41:24 -07:00
bootclasspath.go Make the enabled property configurable 2024-05-02 15:41:24 -07:00
bootclasspath_fragment.go Make the enabled property configurable 2024-05-02 15:41:24 -07:00
bootclasspath_fragment_test.go Make hiddenAPIFlagFileCategory an int 2024-01-23 18:01:47 -08:00
builder.go Revert "Add the implicit deps of javacRE" 2024-04-11 09:58:46 +00:00
classpath_element.go Convert OtherModuleProvider to generic providers API 2023-12-14 16:12:22 -08:00
classpath_fragment.go Install classpath protobuf files 2024-04-30 17:22:58 +09:00
code_metadata_test.go Revert^2 "Remove compilation actions from java sdk library" 2024-05-08 17:46:31 +00:00
device_host_converter.go Introduce library property is_stubs_module 2024-02-13 16:56:38 -08:00
device_host_converter_test.go Strip relative paths from java_import output files 2024-04-11 16:51:21 -07:00
dex.go Add flag for optimized resource shrinking with R8 2024-03-21 12:33:53 +01:00
dex_test.go
dexpreopt.go Revert^2 "Remove compilation actions from java sdk library" 2024-05-08 17:46:31 +00:00
dexpreopt_bootjars.go Make the enabled property configurable 2024-05-02 15:41:24 -07:00
dexpreopt_check.go
dexpreopt_config.go Determine GC type based on BUILT_KERNEL_VERSION_FILE. 2024-02-02 09:23:37 +08:00
dexpreopt_config_test.go
dexpreopt_config_testing.go Fix data race in dex_bootjars 2024-01-17 16:10:37 -08:00
dexpreopt_test.go Move dexpreopt processing from java_*_import to prebuilt_apex 2023-12-18 23:17:26 +00:00
droiddoc.go Collect aconfig_declarations of the dependent java_aconfig_library modules 2024-03-29 01:11:32 +00:00
droiddoc_test.go
droidstubs.go Pass module-lib and system-server extension jars for system-server 2024-05-03 12:21:56 +01:00
droidstubs_test.go Make container mandatory in aconfig_declarations. 2024-04-24 16:41:57 +00:00
fuzz.go Make the enabled property configurable 2024-05-02 15:41:24 -07:00
fuzz_test.go
gen.go Merge logtags from cc modules too 2024-04-29 17:40:40 +09:00
generated_java_library.go Collect aconfig_declarations of the dependent java_aconfig_library modules 2024-03-29 01:11:32 +00:00
generated_java_library_test.go Collect aconfig_declarations of the dependent java_aconfig_library modules 2024-03-29 01:11:32 +00:00
genrule.go Remove ConvertWithBp2build implementations 2023-12-08 13:51:05 -08:00
genrule_test.go
hiddenapi.go Add better error handling to bootDexJar function 2024-01-17 20:59:43 +00:00
hiddenapi_modular.go Make the enabled property configurable 2024-05-02 15:41:24 -07:00
hiddenapi_monolithic.go Restrict verify_overlaps to pre S modules 2024-02-13 02:33:12 +00:00
hiddenapi_singleton.go Revert^2 "Remove compilation actions from java sdk library" 2024-05-08 17:46:31 +00:00
hiddenapi_singleton_test.go Revert^2 "Remove compilation actions from java sdk library" 2024-05-08 17:46:31 +00:00
jacoco.go Make the enabled property configurable 2024-05-02 15:41:24 -07:00
jacoco_test.go
java.go Install transitive deps of jni libs, but not the jni libs themselves 2024-05-10 14:03:07 +09:00
java_resources.go
java_test.go Make container mandatory in aconfig_declarations. 2024-04-24 16:41:57 +00:00
jdeps.go Make the enabled property configurable 2024-05-02 15:41:24 -07:00
jdeps_test.go
kotlin.go
kotlin_test.go
legacy_core_platform_api_usage.go
lint.go Correct lint error when it cannot find api_versions_* module 2024-05-03 09:37:42 +01:00
lint_defaults.txt Merge "303434307: Enable flagged API checking" into main 2023-12-11 18:14:56 +00:00
lint_test.go Prevent disabling checks via flags property 2024-01-29 14:48:23 -08:00
platform_bootclasspath.go Install classpath protobuf files 2024-04-30 17:22:58 +09:00
platform_bootclasspath_test.go Revert^2 "Remove compilation actions from java sdk library" 2024-05-08 17:46:31 +00:00
platform_compat_config.go Make the enabled property configurable 2024-05-02 15:41:24 -07:00
platform_compat_config_test.go
plugin.go Remove ConvertWithBp2build implementations 2023-12-08 13:51:05 -08:00
plugin_test.go
prebuilt_apis.go Support passing multiple last api files to metalava in droidstubs 2024-04-19 10:56:32 +01:00
prebuilt_apis_test.go
proto.go Remove ConvertWithBp2build implementations 2023-12-08 13:51:05 -08:00
proto_test.go
ravenwood.go [Ravenwood] Install transitive JNI libraries too 2024-02-09 16:45:43 -08:00
ravenwood_test.go [Ravenwood] Install transitive JNI libraries too 2024-02-09 16:45:43 -08:00
robolectric.go Added Strict_mode logic catch direct usage of Robolectric reference 2024-04-24 16:54:30 +00:00
rro.go Add aconfig flag support for runtime_resource_overlay 2024-03-20 22:18:17 +00:00
rro_test.go Make container mandatory in aconfig_declarations. 2024-04-24 16:41:57 +00:00
sdk.go Revert "Migrate buildinfo.sh script into Soong" 2024-03-26 22:46:11 +00:00
sdk_library.go Merge "Revert^2 "Remove compilation actions from java sdk library"" into main 2024-05-08 22:28:05 +00:00
sdk_library_external.go
sdk_library_test.go Merge "Revert^2 "Remove compilation actions from java sdk library"" into main 2024-05-08 22:28:05 +00:00
sdk_test.go
sdk_version_test.go Revert "Revert "Limit System SDK to 34 for Java modules in the v..." 2024-01-04 23:20:42 +00:00
support_libraries.go
system_modules.go Delete jmod workDir 2024-03-14 18:15:28 -07:00
system_modules_test.go Support mechanism to select a specific version of module sdk prebuilt 2024-02-06 21:55:50 +00:00
systemserver_classpath_fragment.go Install classpath protobuf files 2024-04-30 17:22:58 +09:00
systemserver_classpath_fragment_test.go
test_spec_test.go Write raw files to disk instead of the ninja file 2023-12-19 16:33:46 -08:00
testing.go Convert apex mutator to a TransitionMutator 2024-04-18 15:08:43 -07:00
tradefed.go Change deps of ctx.Install* from Paths to InstallPaths 2023-11-17 19:06:43 -08:00