platform_build_soong/java
Spandan Das 5ae65ee6e0 Allow dexpreopt of source sdklib in prebuilt apex builds
aosp/2984037 disabled dexperopt of the source apex system server jars
when prebuilts are selected. This was done to prevent duplicate
installation and dex2oat deps.

AOSP art has some additional variants like com.android.art.debug. In
source builds, this apex should contain service-art.jar and
service-art.jar.prof (a dexpeopt artifact). We have a test to check this
(`art_apex_test.py`). If we disable dexpreopt of source sdlib when
prebuilts are selected, this test needs to be disabled. This is the
behavior at ToT.

This CL changes the behavior to enable running this test even when
com.google.android.art prebuilt is active in a specific release
configuraiton. To prevent collisions that prompted aosp/2984037, this CL
special-cases the installation and dex2oat rules instead of disabling
dexpreopt of the source sdklib altogether.

b/331665856 tracks the principled solution to prevent duplicate
dexpreopt rules.

Implementation:
Add a new copyApexSystemServerJarDex arg to GenerateDexpreoptRule API.
If true, the dexjar file will be copied to
out/soong/system_server_jars/. For soong modules, the value of this will
be the inverse of disableSourceApexVariant. Since none of the apex
system server jars are in make, this will be a noop in dexpreopt_gen

Bug: 331665856
Test: modified trunk_staging.scl locally to select
art.google.contributions.prebuilt; mmma art; (with the sibling CL in
topic)

Change-Id: Idb59e424f83d126cdc8b1671dde358745979bd8d
2024-04-17 23:15:20 +00: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 Merge "Strip relative paths from android_library_import output files" into main 2024-04-02 21:01:45 +00:00
aar_test.go Strip relative paths from android_library_import output files 2024-04-02 12:21:34 -07: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 Remove sdkPreSingleton and overlaySingleton 2023-11-01 15:29:09 -07:00
androidmk.go Revert^2 "Support static_libs for java_import modules" 2024-03-23 04:43:41 +00:00
androidmk_test.go
app.go Merge "Add test_module_config_host" into main 2024-03-29 22:15:08 +00:00
app_builder.go Reapply "Use R8 for resource shrinking" 2023-11-29 05:07:50 +00:00
app_import.go Generate info about the selected app variant in platform builds 2024-03-14 18:12:30 +00:00
app_import_test.go Support new property "arch_dpi" for android_import 2024-02-26 10:46:18 +08: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 Support transitive proguard specs in android_library_import 2024-03-27 14:14:09 -07:00
base.go Merge "Collect aconfig_declarations of the dependent java_aconfig_library modules" into main 2024-04-11 17:37:58 +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 Export JavaBootLibsSdkMemberType and JavaSystemserverLibsSdkMemberType 2024-03-20 21:41:49 +00: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 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 Introduce library property is_stubs_module 2024-02-13 16:56:38 -08: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 Add flag for optimized resource shrinking with R8 2024-03-21 12:33:53 +01:00
dex_test.go transitive r8 flags for installable {android,java}_libraries 2023-10-31 18:59:04 +00:00
dexpreopt.go Allow dexpreopt of source sdklib in prebuilt apex builds 2024-04-17 23:15:20 +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 Collect aconfig_declarations of the dependent java_aconfig_library modules 2024-03-29 01:11:32 +00:00
droiddoc_test.go
droidstubs.go Add API compatilibility flags to the exportable stubs 2024-03-28 23:38:02 +00:00
droidstubs_test.go Revert "Generate runtime stubs in droidstubs" am: d40c591487 2024-03-05 23:38:46 +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 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 hiddenAPIFlagFileCategory an int 2024-01-23 18:01:47 -08:00
hiddenapi_monolithic.go Restrict verify_overlaps to pre S modules 2024-02-13 02:33:12 +00: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 Allow dexpreopt of source sdklib in prebuilt apex builds 2024-04-17 23:15:20 +00:00
java_resources.go
java_test.go Revert^2 "Support static_libs for java_import modules" 2024-03-23 04:43:41 +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
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 Support mechanism to select a specific version of module sdk prebuilt 2024-03-16 01:41:12 +00: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 droidstubs depend on the combined last api filegroup modules 2024-03-20 21:29:39 +00: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 [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 Convert OtherModuleProvider to generic providers API 2023-12-14 16:12:22 -08:00
rro.go Add aconfig flag support for runtime_resource_overlay 2024-03-20 22:18:17 +00:00
rro_test.go Add aconfig flag support for runtime_resource_overlay 2024-03-20 22:18:17 +00:00
sdk.go Revert "Migrate buildinfo.sh script into Soong" 2024-03-26 22:46:11 +00:00
sdk_library.go Allow dexpreopt of source sdklib in prebuilt apex builds 2024-04-17 23:15:20 +00:00
sdk_library_external.go
sdk_library_test.go java_sdk_library: Use WriteFileRule for writing permissions.xml 2024-04-10 13:21:28 +01: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 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 Export JavaBootLibsSdkMemberType and JavaSystemserverLibsSdkMemberType 2024-03-20 21:41:49 +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 non-"everything" stubs generation in java_api_library 2024-02-28 07:55:32 +00:00
tradefed.go Change deps of ctx.Install* from Paths to InstallPaths 2023-11-17 19:06:43 -08:00