Commit Graph

6978 Commits

Author SHA1 Message Date
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
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
Joe Onorato
6fe59eb7f0 Track transitive usage of aconfig flags and add LOCAL_ACONFIG_FILES to Android-<product>.mk
Bug: 283910439
Test: m nothing (runs soong tests)
Change-Id: I59f9bef7b7c502565d531a5685c002a177e0a77c
2023-07-20 11:33:06 -07:00
LaMont Jones
feff3f3f99 Enable restat for javac rules
Bug: 280820245
Test: presubmit
Change-Id: I315fb864f8df3d749fa1545b6e59ee37f8f5ec18
2023-07-20 18:28:54 +00:00
Colin Cross
f06d8dc8e3 Strip META-INF/services from implementation jars when using as header jars
If a header jar couldn't be built (for example when an API generating
annoation processor is in use) the implementation jar is reused as the
header jar.  If the implementation jar contains an annotation processor
listed in META-INF/services/javax.annotation.processing.Processor then
later javac executions with the implementation jar in the classpath
could attempt to run the annotation processors unexpectedly.  Remove
the META-INF/services directory when using an implementation jar as
a header jar.

Bug: 290933559
Test: builds
Change-Id: I40d48644bc5a09a9564dc2c4b38f627edd00fcf8
2023-07-19 21:48:11 +00:00
Sam Delmerico
ed85d6398c Merge "make android.InList generic" into main am: cfcd0a4960 am: 351e7c83b8 am: a37e415460 am: e1aea84c1d am: eee5ba0c8f
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2660959

Change-Id: Iffbe1c194355917972145f91cb11fad86f6c6c28
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-07-19 17:42:22 +00:00
Sam Delmerico
cfcd0a4960 Merge "make android.InList generic" into main 2023-07-19 15:02:56 +00:00
Jihoon Kang
5938ef7cf7 Merge "Fix stem to be propagated to output jar name in java_library" into main am: ef5d8278be am: 258edea6f6 am: 70de94a1e0 am: 0f00e9c056 am: e6d26a02db
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2646424

Change-Id: I06aaf6ee150c64fa51aa619999c13c4303e80e1f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-07-18 22:20:34 +00:00
Sam Delmerico
1717b3bb7a make android.InList generic
Change-Id: Ic166216cb473371a5e34cd97a068ca35f5534740
2023-07-18 15:07:24 -04:00
Jihoon Kang
ef5d8278be Merge "Fix stem to be propagated to output jar name in java_library" into main 2023-07-18 18:26:36 +00:00
Zi Wang
7873f613c4 java_test macro needs srcs and deps to create .jar for tradefed_test_suite
Test: java_test_host_conversion_test.go and TH

Bug: 280452825
Change-Id: Ibf0c7eed415fc58a4d228f0347ab125fdc4466e4
2023-07-17 16:39:07 -07:00
Colin Cross
e699b48df5 Merge changes Ied0a6cfe,I8c025efe into main am: adb892c539 am: d4875a4ae6 am: 4bc82d4f82 am: 52b380f33a am: 41fe9dc4fd
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2658796

Change-Id: I935488792818808bc80b143adaefd958fd1ee2c9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-07-17 22:14:29 +00:00
Alix Espino
53a9c4fddd Merge changes from topics "errProne_bp2build_manually_enabled", "error_prone_config" into main am: 2a779ea829 am: 77a01c4809 am: 87dd2019a0 am: dff03221fa am: aa3cf2cba9
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2631710

Change-Id: I813148bfb7f85aaa52e0fc29a0ac1b0892091387
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-07-17 21:47:18 +00:00
Colin Cross
adb892c539 Merge changes Ied0a6cfe,I8c025efe into main
* changes:
  Reland: Use depsets for transitive manifests and assets
  Add test for manifest merger
2023-07-17 16:30:55 +00:00
Alix Espino
2a779ea829 Merge changes from topics "errProne_bp2build_manually_enabled", "error_prone_config" into main
* changes:
  Bp2build for errorprone modules that manually enabled/disabled it
  Make errorprone a configurable attribute for bazel conversion
2023-07-17 13:54:50 +00:00
Jihoon Kang
1bfb6f231e Fix stem to be propagated to output jar name in java_library
Currently, java_library.stem property is not correctly reflected in the
output jar name in java_library when the module specifies
java_resource_dirs property. This change fixes the unexpected behavior
so that setting the stem property behaves as expected.

Test: go test ./java && m
Bug: 285843207
Change-Id: I0941fcea83c92f4c42ae415aa6ad9125da5cf57b
2023-07-14 21:41:46 +00:00
Colin Cross
cb49a6f8fb Merge "Revert "Use depsets for transitive manifests and assets"" into main am: 0a30ce7c4b am: 20d572b050 am: e5dcad264d am: 9addd4b924 am: a90456ae99
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2658795

Change-Id: Ice11213c12da0d79b897c9a38234f90aeb91c436
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-07-14 20:39:16 +00:00
Colin Cross
ab8d138d42 Reland: Use depsets for transitive manifests and assets
Instead of rolling assets and manifests up through each static lib,
provide them as a DepSet.  This will help with the next patch, which
needs to pass all the transitive manifests and R.txt files together.

This relands Id8b3aa2bed3771e82ab6bde192c9b43baa38b54c with a fix
to include additional manifests from dependencies in the final
manifest merger.

Test: app_test.go
Test: TestManifestMerger
Change-Id: Ied0a6cfee2f18e87188db145b9411d4a903ab6c9
2023-07-14 11:26:43 -07:00
Colin Cross
02bccdf37c Add test for manifest merger
Add a test for the manifest merger command line that would have prevented
b/291252863.

Bug: 291252863
Test: TestManifestMerger
Change-Id: I8c025efe7ccb06ad97b405e2927a4df07f9d3f27
2023-07-14 11:24:54 -07:00
Jiakai Zhang
176717de29 Merge changes from topics "art-boot-image-jars", "configured-jar-location-overrides" into main am: a1140990a1 am: 21abd9bd8e am: b3cf567244 am: f22029ba51 am: 39164f8382
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2655305

Change-Id: Ifd49ba082944fb9ae1cf766bf10136c95af98f28
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-07-14 16:51:54 +00:00
Jiakai Zhang
b7dc3b6205 Add a Make variable that overrides configured jar locations. am: 4d90da29a8 am: a701f676d9 am: 47ee73173c am: b905734713 am: d93f271a59
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2655304

Change-Id: I1938b5d076d11f1287cb465ca2bf6d7bcd19de8c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-07-14 16:51:50 +00:00
Jiakai Zhang
ec0d43e0c9 Refactor dexpreopt for boot jars to make it flexible to config changes. am: cb13b5d1bd am: 0c03078eb1 am: d69968ad43 am: 670f82e021 am: 42aa81913e
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2652081

Change-Id: Ib9133386f110552905db2cedf01a03045245c454
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-07-14 16:51:44 +00:00
Colin Cross
0a30ce7c4b Merge "Revert "Use depsets for transitive manifests and assets"" into main 2023-07-14 16:10:31 +00:00
Colin Cross
d8c711f884 Revert "Use depsets for transitive manifests and assets"
This reverts commit 4c90f99cb3.

Reason for revert: b/291252863

Change-Id: I646b039a305a1297167e0c56b0bce0f541da260d
2023-07-14 15:52:41 +00:00
Jiakai Zhang
a701f676d9 Add a Make variable that overrides configured jar locations. am: 4d90da29a8
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2655304

Change-Id: If54785cc69a8fd40a7022342c0a726a0212a0686
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-07-14 12:26:06 +00:00
Jiakai Zhang
0c03078eb1 Refactor dexpreopt for boot jars to make it flexible to config changes. am: cb13b5d1bd
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2652081

Change-Id: I08692cbb4fa9bb813b3b8bfef98999567f87da9c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-07-14 12:26:03 +00:00
Jiakai Zhang
a1140990a1 Merge changes from topics "art-boot-image-jars", "configured-jar-location-overrides" into main
* changes:
  Add a Make variable to determine ART boot image jars for testing.
  Add a Make variable that overrides configured jar locations.
  Refactor dexpreopt for boot jars to make it flexible to config changes.
2023-07-14 11:47:59 +00:00