platform_build_soong/java
Spandan Das 0727ba76b1 Disable dexpreopt if optional_uses_libs does not have an impl
At ToT, an optional_uses_libs is not added to the build time CLC if it
does not exist in the tree. One edge case here is
java_sdk_library_import, which might exist in the tree, but without an
implementation. This cause issues during analysis when we try to verify
the correctness of the build time CLC.

This CL disables dexpreopt if a dependency does not have an
implementation. To limit inadvertent side effects, this is restricted to
java_sdk_library(_import) module types. (more precisely, it is restricted
to java_sdk_library_import, since the source module type will always
have an impl)

Bug: 315802285
Test: Added a unit test
Test: m nothing
Test: printf debugging in internal main, verified that this CL does not
disable dexpreopt on any android app inadvertently

Change-Id: I173fc2f3ff654fe4091e9a43322164afd3222ee7
2024-02-16 18:00:27 +00:00
..
config Remove HideFlaggedApi() related logic and the related product variables 2024-01-16 20:20:27 +00:00
core-libraries Enable hiddenapi check for exportable stubs 2024-01-12 01:03:10 +00:00
aapt2.go Add aconfig flag support for android_app 2023-12-07 23:01:26 +00:00
aar.go Disable dexpreopt if optional_uses_libs does not have an impl 2024-02-16 18:00:27 +00:00
aar_test.go Convert ModuleProvder to generic providers API 2023-12-14 16:12:22 -08:00
Android.bp Add android_ravenwood_test build rule 2024-02-08 09:25:35 -08:00
android_manifest.go add manifest_values application id property to soong 2023-10-23 18:26:53 +00:00
android_manifest_test.go Remove sdkPreSingleton and overlaySingleton 2023-11-01 15:29:09 -07:00
android_resources.go Remove sdkPreSingleton and overlaySingleton 2023-11-01 15:29:09 -07:00
androidmk.go Merge "Modify LOCAL_DROIDDOC_* to export the exportable artifacts" into main 2024-02-02 19:51:14 +00:00
androidmk_test.go Specify jnilib partition in Android-<target>.mk 2022-10-04 03:26:05 +00:00
app.go Disable dexpreopt if optional_uses_libs does not have an impl 2024-02-16 18:00:27 +00:00
app_builder.go Reapply "Use R8 for resource shrinking" 2023-11-29 05:07:50 +00:00
app_import.go Disable dexpreopt if optional_uses_libs does not have an impl 2024-02-16 18:00:27 +00:00
app_import_test.go Disable prebuilt apps without an apk later 2024-01-12 17:02:58 -08:00
app_set.go Add skip-sdk-check to extract_apks 2023-03-21 08:13:25 -07:00
app_set_test.go Add skip-sdk-check to extract_apks 2023-03-21 08:13:25 -07:00
app_test.go Disable dexpreopt if optional_uses_libs does not have an impl 2024-02-16 18:00:27 +00:00
base.go Ignore proguardRaiseTag in jarjar repackage 2024-02-07 19:57:14 +00:00
boot_jars.go
bootclasspath.go Refactor dexpreopt for boot jars to make it flexible to config changes. 2023-07-14 12:13:28 +01:00
bootclasspath_fragment.go Merge "Propagate profile_guided requirement of imports to top-level apex" into main 2024-01-30 22:50:38 +00:00
bootclasspath_fragment_test.go Make hiddenAPIFlagFileCategory an int 2024-01-23 18:01:47 -08:00
builder.go Add dedup flag to aconfig dump-cache calls. 2024-02-08 19:11:39 +00:00
classpath_element.go Convert OtherModuleProvider to generic providers API 2023-12-14 16:12:22 -08:00
classpath_fragment.go Use source_module_name to determine the contents of prebuilt apexes 2024-02-06 21:56:05 +00:00
code_metadata_test.go Write raw files to disk instead of the ninja file 2023-12-19 16:33:46 -08:00
device_host_converter.go Replace panic with ModuleErrorf 2024-01-09 22:53:52 +00:00
device_host_converter_test.go Strip META-INF/services from implementation jars when using as header jars 2023-07-19 21:48:11 +00:00
dex.go Automatically propagate jarjar rules for aconfig libraries 2024-02-05 22:46:00 +00:00
dex_test.go transitive r8 flags for installable {android,java}_libraries 2023-10-31 18:59:04 +00:00
dexpreopt.go Disable dexpreopt if optional_uses_libs does not have an impl 2024-02-16 18:00:27 +00:00
dexpreopt_bootjars.go Use source_module_name to determine the contents of prebuilt apexes 2024-02-06 21:56:05 +00:00
dexpreopt_check.go Change OnlyPreoptBootImageAndSystemServer to OnlyPreoptArtBootImage. 2023-11-09 16:50:58 +00:00
dexpreopt_config.go Determine GC type based on BUILT_KERNEL_VERSION_FILE. 2024-02-02 09:23:37 +08:00
dexpreopt_config_test.go Refactor dexpreopt for boot jars to make it flexible to config changes. 2023-07-14 12:13:28 +01:00
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 Error when WITHOUT_CHECK_API=true in from-text stub build 2024-01-24 01:21:47 +00:00
droiddoc_test.go
droidstubs.go Enable exportable stubs to include READ_WRITE aconfig flagged apis 2024-02-07 01:17:59 +00:00
droidstubs_test.go Enable exportable stubs to include READ_WRITE aconfig flagged apis 2024-02-07 01:17:59 +00:00
fuzz.go Convert OtherModuleProvider to generic providers API 2023-12-14 16:12:22 -08:00
fuzz_test.go Strip META-INF/services from implementation jars when using as header jars 2023-07-19 21:48:11 +00:00
gen.go Remove ConvertWithBp2build implementations 2023-12-08 13:51:05 -08:00
generated_java_library.go Automatically propagate jarjar rules for aconfig libraries 2024-02-05 22:46:00 +00:00
generated_java_library_test.go Remove ConvertWithBp2build implementations 2023-12-08 13:51:05 -08: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 hiddenAPIFlagFileCategory an int 2024-01-23 18:01:47 -08:00
hiddenapi_monolithic.go Convert OtherModuleProvider to generic providers API 2023-12-14 16:12:22 -08:00
hiddenapi_singleton.go Convert OtherModuleProvider to generic providers API 2023-12-14 16:12:22 -08:00
hiddenapi_singleton_test.go Enable hiddenapi check for exportable stubs 2024-01-12 01:03:10 +00:00
jacoco.go Use merge_zips instead of ziptime for resetting timestamps in jacoco outputs 2023-11-01 14:41:48 -07:00
jacoco_test.go
java.go Disable dexpreopt if optional_uses_libs does not have an impl 2024-02-16 18:00:27 +00:00
java_resources.go convert java_resources with bp2build 2022-05-10 14:32:52 +00:00
java_test.go Support mechanism to select a specific version of module sdk prebuilt 2024-01-30 01:59:51 +00:00
jdeps.go Convert ModuleProvder to generic providers API 2023-12-14 16:12:22 -08:00
jdeps_test.go
kotlin.go Enable restat for kapt stubs rules 2023-09-20 09:53:39 -07:00
kotlin_test.go transitive Java deps for r8 2023-01-20 17:05:14 -05:00
legacy_core_platform_api_usage.go Created empty framework-location non-updatable module 2023-08-28 17:45:30 +00:00
lint.go Prevent disabling checks via flags property 2024-01-29 14:48:23 -08: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 Use the correct bootjars for hiddneapi when multiple prebuilts exist 2024-01-02 17:56:14 +00:00
platform_bootclasspath_test.go Add srcjar output for platform_bootclasspath 2023-09-28 13:21:21 +00:00
platform_compat_config.go Remove ConvertWithBp2build implementations 2023-12-08 13:51:05 -08: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 Remove ConvertWithBp2build implementations 2023-12-08 13:51:05 -08:00
prebuilt_apis_test.go Support for incremetal platform prebuilt APIs 2023-08-25 18:03:44 +00:00
proto.go Remove ConvertWithBp2build implementations 2023-12-08 13:51:05 -08:00
proto_test.go
ravenwood.go Support native SOs in ravenwood runtime 2024-02-08 09:25:41 -08:00
ravenwood_test.go Support native SOs in ravenwood runtime 2024-02-08 09:25:41 -08:00
robolectric.go Convert OtherModuleProvider to generic providers API 2023-12-14 16:12:22 -08:00
rro.go Use an option struct in aapt.buildActions & manifestMerger 2023-10-10 14:31:03 +00:00
rro_test.go Remove sdkPreSingleton and overlaySingleton 2023-11-01 15:29:09 -07:00
sdk.go Implicitly bump up Java target to 1.8 2024-01-15 16:38:46 +00:00
sdk_library.go Mechanism to select a specific version of java_sdk_library_import 2024-02-06 04:14:59 +00:00
sdk_library_external.go Reformat build/soong for go 1.19 2022-08-17 10:43:13 -07:00
sdk_library_test.go Mechanism to select a specific version of java_sdk_library_import 2024-02-06 04:14:59 +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 Handle Android.bp files in subdirectories of androidx 2023-10-23 13:25:13 -04:00
system_modules.go Support mechanism to select a specific version of module sdk prebuilt 2024-02-06 21:55:50 +00: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 Propagate profile_guided requirement of imports to top-level apex 2024-01-30 18:04:52 +00: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 Enable hiddenapi check for exportable stubs 2024-01-12 01:03:10 +00:00
tradefed.go Change deps of ctx.Install* from Paths to InstallPaths 2023-11-17 19:06:43 -08:00