summaryrefslogtreecommitdiff
path: root/java
AgeCommit message (Collapse)Author
2024-10-09Make java binaries common instead of common-first Cole Faust
Previously, java binaries had both common and the first arch variants. This was origionally added in aosp/556843. The reasoning there was so that a java binary could be used as the dependency of a genrule. However, now with transition mutators, we can make the incoming transition redirect the arch variant to the common variant if the module only has a common variant. This allows genrules to depend on the common arch variant easily. That change is also included in this cl. Bug: 372091092 Test: m nothing --no-skip-soong-tests Change-Id: Iea612d050bff608d661f81566884653239015213
2024-10-08Merge "Add srcs of jarjar'd java libs back to module_bp_java_deps.json" into ↵ Treehugger Robot
main
2024-10-08Merge "Modify core.current.stubs dist dependency based on release flag" into ↵ Treehugger Robot
main
2024-10-08Add srcs of jarjar'd java libs back to module_bp_java_deps.json Spandan Das
For language feature support. Test: build/make/tools/ide_query/ide_query.sh --lunch_target=aosp_cf_x86_64_phone-trunk_staging-eng frameworks/base/core/java/android/app/Activity.java Test: go test ./java Bug: 372192486 Change-Id: I9b66bb0bdb576ac3f1757591b2bbef965602f740
2024-10-07Merge "Enforce partition property on apex system server jars" into main Treehugger Robot
2024-10-07Merge "Remove IDEInfo method from java_sdk_library" into main Treehugger Robot
2024-10-07Enforce partition property on apex system server jars Spandan Das
This is a followup AI from https://r.android.com/3288083, which installs dexpreopt files of apex system server jars in the same partition as the top-level apex. This CL enforces that the partition properties of the apex and the java library match. This has been implemented in a bottomup manner. systemserverclasspath_fragment module sets `LibraryNameToPartitionInfoProvider`. The top-level apex uses this info and raies an exception if the partition properties do not match. This enforcement is done only for source apexes for now. It is not needed for prebuilts since - The dexpreopt rules of jars in prebuilt apexes are generated in the top-level `prebuiltApex`/ `apexSet` - We do not have prebuilts of system_ext apexes today (com.android.compos is not part of mainline) Test: m nothing --no-skip-soong-tests Change-Id: Ib4df634457f315d5421681bdb0afebc2b1bf92d9
2024-10-07Merge "Skip resource verification on intermediate android libraries" into main Spandan Das
2024-10-07Merge "[Ravenwood] Run Ravenizer on resource jars" into main Treehugger Robot
2024-10-07Remove IDEInfo method from java_sdk_library Jihoon Kang
This is no longer needed given that the modules no longer depend on the top level java_sdk_library. Test: diff out/soong/module_bp_java_deps.json Change-Id: I035844b638e2c6b305257755a75e9af47c5aec61
2024-10-07[Ravenwood] Run Ravenizer on resource jars John Wu
Bug: 292141694 Flag: EXEMPT host test change only Test: $ANDROID_BUILD_TOP/frameworks/base/ravenwood/scripts/run-ravenwood-tests.sh Change-Id: Ia84a40a390e83e0ab297cbcc8261d19603003649
2024-10-07Merge "Add JNI libs support to device variants of java_binary" into main Spandan Das
2024-10-07Skip resource verification on intermediate android libraries Spandan Das
The use case for this is kythe builds, which still use the legacy resource processor. https://r.android.com/3207856 special-cased kythe builds to use the legacy resource processor and retain R.srcjar xrefs. This unfortunately broke xrefs for android apps that have android library dependencies with unresolved resource references. With this CL, the resource verification will be done only on the top-level app for both ResourceProcessorBusyBox and the legacy processor builds. Test: XREF_CORPUS=blah m Traceur-res # builds now Test: presubmits Bug: 354854007 Change-Id: Ibc0eaa220a2eb233078c325318ef3bece243f375
2024-10-04Merge "Install dexpreopt artifacts of apex system server jars in same ↵ Spandan Das
partition" into main
2024-10-04Merge "Fix file remove bug in dex rule." into main Haamed Gheibi
2024-10-04Fix file remove bug in dex rule. Haamed Gheibi
Bug: 353597491 Change-Id: I97e3efdb0943f4116bc2eb47759291c6dc0dbda8
2024-10-04Install dexpreopt artifacts of apex system server jars in same partition Spandan Das
e.g. If a system server jar providing apex is installed in /system_ext, the dexpreopt files of that jar will also be installed in /system_ext. Currently, all of these artifacts are installed in /system This behavior will be flag guarded by RELEASE_INSTALL_APEX_SYSTEMSERVER_DEXPREOPT_SAME_PARTITION. This is necessary because the ART runtime needs to be updated to look in the new /system_ext location. Since some release configs build with ART prebuilts, the runtime in those prebuilt apexes will not have the additional search path introduced in https://r.android.com/3287191 Test: Verified that "Could not check odex file" does not appear for service-compos (a system_ext apex systemserver jar) Bug: 369678122 Change-Id: I752bdc7f5f69226b503800ce25726a211302cb07
2024-10-04Add JNI libs support to device variants of java_binary Spandan Das
This adds jni_libs support back to device variants, which was removed in https://r.android.com/3230584. These will be installed by the two packaging systems in different ways 1. Kati: By being listed in `LOCAL_REQUIRED_MODULES` of the autogenerated Android.mk 2. Soong: Via the`jniInstallTag`, whose `InstallDepNeeded` value is true This CL also makes it an error for a native library to be listed in `required` of a `java_binary(_host)`. Test: m nothing --no-skip-soong-tests Test: Verified that there are no diff in system_intermediates/file_list.txt (device variants) Test: m installclean && m <host_java_bin> ; verified that the jni library is installed in out/host/linux-x86/lib64 (host variants) Bug: 370110572 Change-Id: I6aebc648191ab39f2da15a5f2807d46abab22cb0
2024-10-04Make the package_name property for apps configurable Cole Faust
User-requested. Fixes: 371213057 Test: m nothing --no-skip-soong-tests Change-Id: I8026830ade283c527a08dd2b79ee0345d3eb51d4
2024-10-04Merge "[Ravenwood] Allow sending additional args to Ravenizer" into main Treehugger Robot
2024-10-04[Ravenwood] Allow sending additional args to Ravenizer John Wu
Provide a new property to send the "--strip-mockito" argument to the Ravenizer tool through Android.bp. Bug: 292141694 Flag: EXEMPT host test change only Test: $ANDROID_BUILD_TOP/frameworks/base/ravenwood/scripts/run-ravenwood-tests.sh Change-Id: I88a11640244f02e9a02858245307f9ad887eedda
2024-10-03Strip versioned module-info.class files Cole Faust
The latest errorprone updates use a multi-release jar file: https://github.com/google/error-prone/issues/3756 https://openjdk.org/jeps/238 The module-info.class existing under certain version folders caused package-check.sh to fail. Currently errorprone only has a versioned module-info.class file, but if it later adds versioned implementation classes, we may also need to update package-check.sh to respect multi-release jars. Bug: 253827323 Test: m RUN_ERROR_PRONE=true out/soong/.intermediates/packages/modules/Media/apex/framework/updatable-media/android_common/package-check.stamp with errorprone update to 3.32.0 Change-Id: Ieaee73636aa5321494c14c221d38964e1b0cebb1
2024-10-03Enforce app updatability in GenerateAndroidBuildActions Colin Cross
Remove part of the apex top down mutator by moving enforceAppUpdatability to a check in GenerateAndroidBuildActions instead of mutating dependencies. This requires annotating app dependencies of updatable apexes with `updatable: true` in the Android.bp files. Bug: 367784740 Test: builds Flag: EXEMPT refactor Change-Id: I234a457bba48c0f48410d53740aaa9b89661ca7c
2024-10-02Remove the java property `exclude_static_libs` Jihoon Kang
All usages of the property has been converted to using select syntax. Test: m nothing --no-skip-soong-tests Bug: 368127911 Change-Id: I130f15d8524b56b6905c4dd3e7283731f437f88d
2024-10-02Merge "Support setting R8 dump directory with environment variable" into main Rico Wind
2024-10-02Merge "There is no verbose flag." into main Treehugger Robot
2024-10-01Merge "Make the java jni_libs property configurable" into main Treehugger Robot
2024-10-01Make the java jni_libs property configurable Jihoon Kang
Bug: 323382414 Bug: 370563864 Test: m nothing --no-skip-soong-tests Change-Id: Iae8f472c81fbbb192effb4b3cf0066b6160e6b6c
2024-10-01There is no verbose flag. Abdelrahman Daim
Summary: On certain devices, dex is automatically stripped. To generate a debuggable APK, you must export a specific flag and then run the build. When you do this, the build system tries to set a flag that doesn't exist in the dex compiler and breaks the build. Test: Successful Build on master branch Change-Id: I85bbcc7ab426e9810dc241c99a08077f65e265bc Signed-off-by: Abdelrahman Daim <adaim@meta.com>
2024-10-01Merge "Set version code of apex and apk based on ↵ Alyssa Ketpreechasawat
RELEASE_DEFAULT_UPDATABLE_MODULE_VERSION." into main
2024-10-01Merge "Use profile at framework/base/boot/ instead of the combined one at ↵ Islam Elbanna
framework/base/config" into main
2024-09-30Merge "Make the java jni_libs property configurable" into main Treehugger Robot
2024-09-30Make the java jni_libs property configurable Jihoon Kang
Bug: 323382414 Bug: 370563864 Test: m nothing --no-skip-soong-tests Change-Id: I11d8350d338e44d27537c6e5529034ba8a38265c
2024-09-30Merge "Find matching variant of `required` for `common_first`" into main Treehugger Robot
2024-09-30Use profile at framework/base/boot/ instead of the combined one at Islam Elbanna
framework/base/config This is to decouple the framework and art profiles everywhere. Bug: 260067246 Change-Id: I3bd3ef6397a4587e28d3cd1775f1714dbf846c76 Test: running `m` Test: Verify PRODUCT_DEX_PREOPT_BOOT_IMAGE_PROFILE_LOCATION for multiple products https://paste.googleplex.com/5573555023773696
2024-09-28Find matching variant of `required` for `common_first` Spandan Das
Both 32-bit and 64-bit variants of native deps were getting installed in Soong-built system image if they were listed in `required` of `java_binary`. java_binary(s) have two variants, a "common" and an arch variant (the first arch). Previously the common variant will create a dependency to both 32-bit and 64-bit variants of their dependencies. With this CL, common variant will not create a dependency on required unless the requested `target` is also the common target. Test: Ran the filelistdiff tool Test: go test ./java -run TestNativeRequiredDepOfJavaBinary Bug: 369678122 Change-Id: Ica97e12eefb45929ca653ec57c3339e4a3b72a76
2024-09-27Merge "Do not set JavaInfoProvider in java_sdk_library" into main Treehugger Robot
2024-09-27Do not set JavaInfoProvider in java_sdk_library Jihoon Kang
Given that modules are not allowed to depend on java_sdk_library as a compilation dependency anymore, do not set JavaInfoProvider in java_sdk_library to prevent misusage of java_sdk_library via `OtherModuleProvier(..., JavaInfoProvier)` in `VisitDirectDeps()` Test: CI Bug: 308827369 Change-Id: Id73287774ec1d1a19cfab45e1eaee27784d141f0
2024-09-27Merge "Convert RRO enforcement to transition mutator" into main Treehugger Robot
2024-09-27Merge "Remove blueprint.Module helper functions" into main Colin Cross
2024-09-27Merge "Revert "Remove some unused make vars"" into main Treehugger Robot
2024-09-27Remove blueprint.Module helper functions Colin Cross
Now that blueprint_go_binary modules are wrapped in a module type that implements android.Module Soong should never see a blueprint.Module. Remove the versions of the context methods that allow working with blueprint.Modules. Genrules still need VisitDirectDepsAllowDisabled, as they use a hack that adds dependencies on host tools after the prebuilts mutators have run, which means they may have a dependency on a disabled prebuilt and need to manually forward it to the corresponding source module. Test: all soong tests pass Flag: EXEMPT refactor Change-Id: I9147b450269749326e8fe75c5af310bd2d898d8c
2024-09-27Merge "Remove top down strict updatability checks" into main Colin Cross
2024-09-27Revert "Remove some unused make vars" ELIYAZ MOMIN
This reverts commit 75e7228204782f05d76c85197eebc23197498029. Reason for revert: <Potential culprit for b/369983619 - verifying through ABTD before revert submission. This is part of the standard investigation process, and does not mean your CL will be reverted.> Change-Id: Ie0e6b9c9c1618b06d87a2b6ac3639aefe802ab06
2024-09-27Set version code of apex and apk based on ↵ Alyssa Ketpreechasawat
RELEASE_DEFAULT_UPDATABLE_MODULE_VERSION. The build flag RELEASE_DEFAULT_UPDATABLE_MODULE_VERSION is set up to allow the default version code of updatable apk and apex to be configurable per release config. Use the value from flag and remove old constant value (DefaultUpdatableModuleVersion). Bug: 369531931 Test: presubmit Test: flash cf and check version Change-Id: Ia0a8634360cbe83501cdafee888678836005620f
2024-09-27Merge "Remove some unused make vars" into main Spandan Das
2024-09-27Merge "Remove some unused make vars" into main Treehugger Robot
2024-09-27Support setting R8 dump directory with environment variable Rico Wind
This will allow developers to easily create dumps of R8 compilations (input classfiles, proguard rules, flags, resources...) Example usage: $ mkdir /tmp/dumps $ R8_DUMP_DIRECTORY=/tmp/dumps m -j77 Traceur This will put the dump for Traceur into the /tmp/dumps directory If your target has several R8 invocations then dumps for all of these will be generated into the dump directory Bug: 369931283 Test: R8_DUMP_DIRECTORY=/tmp/dumps m -j77 Traceur Change-Id: I69be3190c61a98402931767e42184cc01ef25804
2024-09-27Remove some unused make vars Spandan Das
With https://r.android.com/3199942, the dexpreopt profile file is installed by s soong module. `DEXPREOPT_IMAGE_PROFILE_BUILT_INSTALLED` does not need to be exported to make. Test: no diff in system_intermediates/file_list.txt Change-Id: I6f7e0648847a5647414f8914ce2b0f2c4737421b
2024-09-27Remove some unused make vars Spandan Das
These vars were exported by soong so that kati can generate installation rules for these artifacts. With https://r.android.com/3272600, soong will create the installation rules, therefore exporting these variables is no longer necessary. Test: m nothing --no-skip-soong-tests Test: No diff in system_intermediates/file_list.txt Change-Id: I949976024e22b297d261ab7eb6354d8e77f1b34e