Commit Graph

7003 Commits

Author SHA1 Message Date
Liz Kammer
c519bc6f28 Merge "Add unconverted reason for jarjar incompatibility." into main am: 6b6b150d0a am: 7d941462bb am: 1397a3a96b am: 472f943b6d am: 44536d9bfa
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2696067

Change-Id: I7d831ad01c92b86d585764dc8cbcffa58a649353
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-08-08 20:48:44 +00:00
Colin Cross
f6ba044abd Merge "Downgrade newly failing lint checks" into main am: bd6294cc9c am: fb426396d2 am: b2e9f2caf9 am: 30849b097a am: 81b792a9bc
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2681380

Change-Id: Ie2ac73b49a66b3b4a8096df789ac9e920bf69877
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-08-04 21:12:02 +00:00
Liz Kammer
7f375869ab Add unconverted reason for jarjar incompatibility.
Test: m bp2build
Change-Id: I112b84fa53f57b9df2bd1e1616012fe55b48001e
2023-08-04 16:39:57 -04:00
Colin Cross
bd6294cc9c Merge "Downgrade newly failing lint checks" into main 2023-08-04 16:50:08 +00:00
Colin Cross
b6d6ac7e4f Merge "Delete aapt2 generated java files after creating srcjars" into main am: 482ccfab04 am: b5c37f9bac am: 10ecc7ed1e am: 815ac4eaad am: ed4697d11b
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2690453

Change-Id: I27a1a17b44c585cbf998f04877305fe6bf43d203
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-08-03 22:44:16 +00:00
Colin Cross
482ccfab04 Merge "Delete aapt2 generated java files after creating srcjars" into main 2023-08-03 18:57:24 +00:00
Colin Cross
3b1e71c958 Delete aapt2 generated java files after creating srcjars
The R.java files generated by aapt2 are unused after they are zipped
into srcjars.  These files can huge, reaching 500 MB for some modules
and 76 GB across all modules for a checkbuild on internal main.
Delete the R.java files after after zipping them into srcjars.

Bug: 294285775
Test: m checkbuild
Change-Id: Ie5143e1e4b36ca1f4e45b001d79aca5379063517
2023-08-02 21:50:37 -07:00
Colin Cross
9fa43ad2e3 Downgrade newly failing lint checks
Downgrade new lint checks that are failing to warnings.

Bug: 294098365
Test: treehugger
Change-Id: If236199b22c31d95acbffaefee569c806ef0018d
2023-08-03 00:57:41 +00:00
Roy Luo
2631bcd34e Merge "Revert "Reland "Enable R8 full mode by default for apps""" into main 2023-08-03 00:00:25 +00:00
Roy Luo
74a5c2ec76 Revert "Reland "Enable R8 full mode by default for apps""
This reverts commit a9f5c57b90.

Reason for revert: DroidMonitor-triggered revert due to breakage https://android-build.corp.google.com/test_investigate/?invocationId=I59400010184068138&testResultId=TR41428835561759069&tab=trace, bug b/294287299

Bug:294287299
Change-Id: Id7bbe3b1a4cdc999c6a4cb9002b60c882b34f11e
2023-08-02 23:56:46 +00:00
Treehugger Robot
cfe9e6d008 Merge "Reland "Enable R8 full mode by default for apps"" into main 2023-08-02 21:38:29 +00:00
Rico Wind
21862285ac Enable compact entries for resource shrunken apps
For SystemUIGoogle this is a 2.3 MB reduction (17* of resources arsc) and for Traceur it is a 500k reduction (22% of resources.arsc)

Bug: 294016857
Test: Existing
Ignore-AOSP-First: The resource system support for this is not in AOSP yet

Change-Id: I513078406494ad354c255afa0e829cbe10a9b07a
2023-08-02 05:38:19 +00:00
Treehugger Robot
448a4b528b Merge "Ensure extracted JNIs are stored properly in APKs" into main am: a7c5278fbe am: 928eaccad0 am: 1c7fe15d9c am: e593e46ba0 am: f87bff6922
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2681735

Change-Id: I774dbc6f016134b789fb1180ea59391b11912544
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-08-01 01:59:33 +00:00
Treehugger Robot
a7c5278fbe Merge "Ensure extracted JNIs are stored properly in APKs" into main 2023-07-31 22:47:05 +00:00
Jared Duke
a9f5c57b90 Reland "Enable R8 full mode by default for apps"
This is attempt 3 at landing this change. Prior attempts were
reverted due to downstream test breakages not in presubmit.
Those issues have been resolved, and additional manual heavy
presubmit tests were run to ensure stability.

Observed APK savings: ~24MB

This reverts commit a2ab93666d.

Reason for revert: Fixed SdkSandboxManagerTest by preserving
existing R8 compat mode for the aosp variant of SdkSandbox target.

Bug: 215530220
Bug: 293177283
Test: atest SdkSandboxManagerTests && \
      atest SdkSandboxStorageHostTest && \
      atest SdkSandboxLifecycleHostTest

Change-Id: If5636638875b6f67e0cc0ba4fd253a8d99d8db1d
2023-07-31 22:11:00 +00:00
Luca Stefani
813de60e00 Ensure extracted JNIs are stored properly in APKs
If the android_app has the use_embedded_native_libs flag
all its JNIs must be stored with the store compression method.

The logic to add JNIs from ARR is as follows:
1) Extract JNI libs from AAR
2) Store JNI libs with deflate
3) Merge deflated JNI libs with APK

This process produces a bogus APK that won't be loaded by the
framework if the use_embedded_native_libs is set as the resulting
APK will have all its merged entries stored as deflate.

To solve the problem in case we merge JNIs with an app requiring
uncompressed JNI we add an extra step to ensure they're compressed
using the store method.

Test: m, verify apk using jni_extract has stored libs
Change-Id: Ic31d47f15412171b5898dd0e2a554cb6bf93293b
2023-07-31 21:16:18 +02:00
Romain Jobredeaux
61b10f90fc Merge "Enable from-source vs from-text toggling for core.module_lib.stubs." into main am: 6553cf54fb am: 32b8846921 am: dcf429b468 am: c808a9c927 am: d1147b63eb
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2680437

Change-Id: I3c4b461f2474934734600e9a15baf9ccab088ddd
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-07-31 16:36:29 +00:00
Romain Jobredeaux
6553cf54fb Merge "Enable from-source vs from-text toggling for core.module_lib.stubs." into main 2023-07-31 13:19:25 +00:00
Pratyush
8dd9dbbfeb Merge "Disable Hidden API Checks for ENG Builds" into main am: d938f83be1 am: f42fbcf6a1 am: e4b8ef7b74 am: 128acca18d am: ae1c06f8f6
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2666977

Change-Id: Ib60d7842670c38de0bb3ca37607f7930cc7321df
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-07-30 18:33:15 +00:00
Pratyush
d938f83be1 Merge "Disable Hidden API Checks for ENG Builds" into main 2023-07-30 13:57:36 +00:00
Pratyush
faec4db56f Disable Hidden API Checks for ENG Builds
For more discussions/details, please check internal CL ag/24145146

Bug: 289409213
BUg: 285976182
Test: Look for hiddenapi calls in build trace
Change-Id: Ia2780ee419b8da1418ba1c7a7d732712b7c2a322
2023-07-30 13:57:10 +00:00
Colin Cross
a514fa8571 Merge "Delete the javac/classes directory after zipping it" into main am: 61bf9ef31e am: 4fe3eaee55 am: d7d745bad7 am: 361d28eb06 am: 5dd8133822
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2678497

Change-Id: I185d6f69ae79509a6291cd570a793685cc1132fa
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-07-28 20:38:17 +00:00
Romain Jobredeaux
9d54fdac3d Enable from-source vs from-text toggling for core.module_lib.stubs.
Also fix a typo in legacy core for system modules

Change-Id: I0b3bb04773d7ee616b94252711053d5be396b84a
2023-07-28 16:02:12 -04:00
Colin Cross
61bf9ef31e Merge "Delete the javac/classes directory after zipping it" into main 2023-07-28 16:18:31 +00:00
Colin Cross
da96e09014 Merge "Avoid extra copy of JNI libs zip" into main am: a706cc8c15 am: 286806fe61 am: d0f8e7b899 am: ca9d685248 am: 768dd7570f
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2678496

Change-Id: I09a42641fbd716eea8bc5408db8ac5aa7874efa2
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-07-27 23:45:02 +00:00
Colin Cross
b3168bac7f Avoid extra copy of JNI libs zip
Don't call merge_zips if there are no prebuilt JNI libraries to
merge with.

Test: builds
Change-Id: Ife5386fbbfcff35bdea2914519a78dfd89163a25
2023-07-27 08:09:37 -07:00
Colin Cross
49889c088b Delete the javac/classes directory after zipping it
javac produces a directory containing class files, which is then zipped
with soong_zip into a jar file.  The class files are never used outside
of the rule, so delete them after zipping them.  This should save 19 GB
of disk space in checkbuilds.

Do the same for kotlinc/classes directories for consistency.

Bug: 293352015
Test: treehugger
Change-Id: Id1e889cfbee47eab552a5bb27134fa4b3b4c4d14
2023-07-27 14:57:45 +00:00
Liz Kammer
743b5252c0 Merge "Handle xsd config more like other partitions" into main am: c796de83c8 am: 466447a891 am: 44a677c466 am: 576048c080 am: dd50a92443
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2662518

Change-Id: I9bad57f53339caf6ddcc2a9cc10a77f57613c7fc
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-07-26 23:01:51 +00:00
Liz Kammer
c796de83c8 Merge "Handle xsd config more like other partitions" into main 2023-07-26 19:18:52 +00:00
Treehugger Robot
ab78085de6 Merge "Revert "Enable R8 full mode by default for apps"""" into main am: 06c246c1af am: 55983f9772 am: 448e147ff0 am: 02468005af am: 0b7cbf9ff6
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2675620

Change-Id: If4211e728cd42ca007aad852eae208c278f71259
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-07-26 03:35:22 +00:00
Treehugger Robot
06c246c1af Merge "Revert "Enable R8 full mode by default for apps"""" into main 2023-07-26 00:42:06 +00:00
Treehugger Robot
245482e039 Merge "Move android_library resource handling to Bazel's ResourceProcessorBusyBox" into main 2023-07-26 00:34:57 +00:00
Treehugger Robot
a751a1d6c6 Merge "Revert "Revert "Enable R8 full mode by default for apps""" into main am: 5ad5c918a3 am: 3b6fad10b5 am: 044c59f30e am: f42ffac03f am: 3c4344f748
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2650573

Change-Id: I8cdcfbb0b9907a7214811ca2ab24390d6461fa36
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-07-25 23:48:49 +00:00
Jared Duke
a2ab93666d Revert "Enable R8 full mode by default for apps"""
This reverts commit 5d3ec54b6b.

Reason for revert: Breaks a SdkSandboxManagerTest

Change-Id: I30c03d70a2b683f663b00866035ebf56339a4b0b
2023-07-25 21:37:17 +00:00
Colin Cross
4eae06dcc9 Move android_library resource handling to Bazel's ResourceProcessorBusyBox
The R.Java files generated by aapt2 link --no-static-lib-packages
cause scaling problems by combining all resources into every package
listed in a dependencies' AndroidManifest.xml file.  For SystemUI-core
this results in 74 R.java files, each with 76k lines, and takes 20
seconds to compile in javac.

Both AGP and Bazel have workarounds for this that avoid using the
R.java files generated by aapt2, instead generating more efficient
R.class files directly based on the R.txt file.

Bazel uses the ResourceProcessorBusyBox tool that is already present
in our tree to process the resources.  Reuse the same tool in Soong
to create the R.jar.

The more efficient R.class files require modifiying source files
that use incorrect packages to refer to resources.

Bug: 284023594
Test: TestAndroidResourceProcessor
Change-Id: I026073b40dabcfdb10e5d7a52e9348205b0e9a66
Merged-In: I026073b40dabcfdb10e5d7a52e9348205b0e9a66
2023-07-25 21:30:21 +00:00
Treehugger Robot
5ad5c918a3 Merge "Revert "Revert "Enable R8 full mode by default for apps""" into main 2023-07-25 20:22:01 +00:00
Colin Cross
17f4f1cea9 Merge "Move android_library resource handling to Bazel's ResourceProcessorBusyBox" into main 2023-07-25 16:50:35 +00:00
Treehugger Robot
0231207a25 Merge changes I69f80d12,I40d48644 into main am: ed89d33fb1 am: 22283ef0d4 am: 03a60cd0da am: d87a95059b am: 1f4d5888bb
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2663338

Change-Id: I6e04792f1d22a19d8ade011819fd1e79c18d806f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-07-24 18:26:32 +00:00
Liz Kammer
5f5dbaad65 Handle xsd config more like other partitions
This is prep work to add additional special handling for genrule
generated headers as there will be similar partitioning for those
headers.

Test: go test soong tests
Change-Id: Ib63e7e4f7554b2b7b7bc78b2825b20c05403216a
2023-07-24 13:01:22 -04:00
Treehugger Robot
ed89d33fb1 Merge changes I69f80d12,I40d48644 into main
* changes:
  Merge META-INF/services/* files in merge_zips -jar
  Strip META-INF/services from implementation jars when using as header jars
2023-07-24 14:27:25 +00:00
Zi Wang
f93ba61788 Merge "java_test macro needs srcs and deps to create .jar for tradefed_test_suite" into main am: 8348ce92f5 am: 1c29688852 am: f362600dc8 am: c824c50247 am: f2fefb5ab1
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2660942

Change-Id: I2624de43756bdc4340dd2f586dcaf7a293a98f31
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-07-22 00:29:07 +00:00
Zi Wang
8348ce92f5 Merge "java_test macro needs srcs and deps to create .jar for tradefed_test_suite" into main 2023-07-21 20:48:13 +00:00
Treehugger Robot
f360471575 Merge "Track transitive usage of aconfig flags and add LOCAL_ACONFIG_FILES to Android-<product>.mk" into main am: 8bad43ad53 am: a4f896ab0d am: fdfe8d1dbb am: a0954b57f4 am: ec92e4b766
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2645432

Change-Id: If84e0d87ca4494a647d7e79d121c12083ca7c391
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-07-21 17:22:57 +00:00
Treehugger Robot
8bad43ad53 Merge "Track transitive usage of aconfig flags and add LOCAL_ACONFIG_FILES to Android-<product>.mk" into main 2023-07-21 14:34:44 +00:00
Treehugger Robot
decf1c75a7 Merge "Relax preprocessed apk check for non-privileged apps" into main am: 9064761816 am: ea7d85fc37 am: 66dca00513 am: e97d8b0c32 am: 7aa6eddfb2
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2670157

Change-Id: I9d479206ef7d0ec94e21c21442cfc0f8e5f30519
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-07-21 07:29:46 +00:00
Treehugger Robot
73e479143d Merge "Enable restat for javac rules" into main am: 340591c729 am: 3c1dd65ce0 am: 96fea7e95f am: cdf63deb96 am: 324066355c
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2627202

Change-Id: If228b747c47871941dbb435b40b5f0a8f7a6a368
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-07-21 04:48:42 +00:00
Treehugger Robot
9064761816 Merge "Relax preprocessed apk check for non-privileged apps" into main 2023-07-21 03:47:42 +00:00
Cole Faust
93b89b4110 Relax preprocessed apk check for non-privileged apps
Non-priviledged apps can have compressed dex files.
See go/gms-uncompressed-jni-slides

Bug: 185811447
Test: Presubmits
Change-Id: I14f70fb9286bce132e451a0c930333455517cdc3
2023-07-20 17:57:33 -07:00
Jared Duke
5d3ec54b6b Revert "Revert "Enable R8 full mode by default for apps""
This reverts commit ba283992ef.

Reason for revert: Resolved associated test/build failures

Bug: 215530220
Test: atest BluetoothInstrumentationTests
Test: atest RkpdAppGoogleUnitTests
Change-Id: I27ad6a4f910fa8d48a3dc122c7542f8d7667de5a
2023-07-20 23:29:41 +00:00
Colin Cross
039d8dfb67 Move android_library resource handling to Bazel's ResourceProcessorBusyBox
The R.Java files generated by aapt2 link --no-static-lib-packages
cause scaling problems by combining all resources into every package
listed in a dependencies' AndroidManifest.xml file.  For SystemUI-core
this results in 74 R.java files, each with 76k lines, and takes 20
seconds to compile in javac.

Both AGP and Bazel have workarounds for this that avoid using the
R.java files generated by aapt2, instead generating more efficient
R.class files directly based on the R.txt file.

Bazel uses the ResourceProcessorBusyBox tool that is already present
in our tree to process the resources.  Reuse the same tool in Soong
to create the R.jar.

The more efficient R.class files require modifiying source files
that use incorrect packages to refer to resources.

Ignore-AOSP-First: merge conflict
Bug: 284023594
Test: TestAndroidResourceProcessor
Change-Id: I026073b40dabcfdb10e5d7a52e9348205b0e9a66
2023-07-20 21:39:37 +00:00