Commit graph

66393 commits

Author SHA1 Message Date
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
Cole Faust
f055db60d4 Create build settings for all product config variables
Bug: 269577299
Test: Presubmits
Change-Id: Id8b7d65d657fa20ad8591e58d5173445b0e4f4df
2023-07-25 11:47:20 -07:00
Treehugger Robot
35448be862 Merge "Make libtest_* deps explicit in BUILD files" into main 2023-07-25 18:46:39 +00:00
Elliott Hughes
575451d111 Merge "Remove a bunch of stuff from the libc allowlist." into main 2023-07-25 18:45:08 +00:00
Ivan Lozano
2797e876f1 rust: Add BTI/PAC for supported targets.
This mirrors the support provided for cc modules.

Bug: 181027427
Test: m rust
Change-Id: I1354b37ec8c47132f143400adba6d42cf2081df5
2023-07-25 14:25:43 -04:00
Juan Yescas
f7bd2592a1 Merge "16k: soong: Add flag Device_page_size_agnostic" into main 2023-07-25 14:24:40 +00:00
Jingwen Chen
6ee23ad2f7 cc_test mixed builds: suffix bazel label with __tf_internal.
To support `b test //path/to:my_test` command line, the actual
executable in the cc_test macro now has the __tf_internal suffix in its
name, so that the top level test suite target can be named without any suffixes.

See other CLs in this topic for more info.

Test: presubmits
Fixes: 292159775
Change-Id: I2d0bfc4276717ae881f6f3eb6aefa88bb47f25da
2023-07-25 08:02:11 +00:00
Yu Liu
41a58a97ae Allowlist the newly added libcodec2_hal_common.
Bug: 292568369
Test: CI
Change-Id: I5847b1c7530573cd7166bd0130d2b47c63cb9d90
2023-07-24 23:31:48 +00:00
Juan Yescas
3848b27c1e 16k: soong: Add flag Device_page_size_agnostic
The flag Device_page_size_agnostic will determine whether
AOSP is kernel page size agnostic or not.

Test: source build/envsetup.sh
      lunch aosp_raven_64-userdebug
      m -j$(nproc)
      cat out/soong/build.aosp_raven_64.ninja | grep TARGET_PAGE_SIZE_AGNOSTIC
Bug: 289419664
Change-Id: I0604db64a3b44db63f93773be003cdd44e0a867b
2023-07-24 13:57:18 -07:00
Chris Wailes
9081d142cb Merge "rustc-1.71.0 Build 10534657" into main 2023-07-24 19:21:11 +00:00
Liz Kammer
0db0e34c68 Gen a header library when genrules export includes
Embedding multiple includes from a genrule may be difficult to read,
instead we generate a header library that contains the headers and all
include dirs that Soong generates.

Test: go test bp2build tests
Change-Id: I590c74c133f015f27cccf5a2fd916153ad9c125e
2023-07-24 13:57:17 -04:00
Treehugger Robot
8db771d201 Merge "Allowlist hal_unit_tests and deps" into main 2023-07-24 17:53:27 +00:00
Kousik Kumar
6d1e348cc3 Disable RBE env variable when we cannot support RBE
Enabling the RBE variable can cause issues around pool parallelism when
we set the env variable, but don' run the build with RBE due to auth issues.
So, I am explicitly unsetting the variables in those cases.

Bug: b/292224253
Tested: https://b.corp.google.com/issues/292224253#comment26
Change-Id: I19718b4ee6c058ba1b11d3df260421bbf8c9567e
2023-07-24 17:06:42 +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
Ivan Lozano
f23db44fc8 Merge "rust: Enable Product support for dylibs." into main 2023-07-24 14:59:45 +00:00
Romain Jobredeaux
8505190672 Merge "Allowlist ModuleMetadata" into main 2023-07-24 14:48:28 +00: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
Cole Faust
1c535124d5 Merge "Revert "Add workaround for a file with an mtime in the future"" into main 2023-07-22 04:01:59 +00:00
Devin Moore
c381e100c9 Add new Release_aidl_use_unfrozen soong variable
this comes from a trunk stable build flag `RELEASE_AIDL_USE_UNFROZEN`
and is used by the AIDL compiler when creating build rules for the
generated AIDL libraries.

Test: m
Bug: 290265210
Change-Id: I94445c870ac908474e62db0b3172b64d53680852
2023-07-21 23:59:11 +00:00
Spandan Das
651203de35 Make libtest_* deps explicit in BUILD files
This is currently implicitly added by the cc_test macro. This can cause
duplicate issues if users write a BUILD file as
```
cc_test (
  name = "mytest",
  deps = ["libgtest"],
)
```
Making this dep explicit in BUILD files prevents this issue.

The property `gtest` will not be removed as part of this CL. cc_test
macro will use this property to add some gtest specific copts

Test: unit tests
Bug: 249374572
Change-Id: Ife931e26367fd4aab302bedc709cf907e2c01245
2023-07-21 23:04:32 +00:00
Dan Albert
460fb2d6d5 Merge "Remove libandroid_support support." into main 2023-07-21 21:06:41 +00:00
Treehugger Robot
cc8c8e5f8d Merge "Allowlist additional deps of inputflinger" into main 2023-07-21 21:03:39 +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
8b8846ae1c Merge "Add aconfig flags and a generic generated library plugin module for cc" into main 2023-07-21 19:09:28 +00:00
Romain Jobredeaux
66b27cb853 Merge "Add DeviceAbi to product variable to build setting export" into main 2023-07-21 18:40:17 +00:00
Cole Faust
d95158ef1a Merge "Denylist genrules that fail to build with sandboxing" into main 2023-07-21 18:20:06 +00:00
Ivan Lozano
5b55c2f366 rust: Enable Product support for dylibs.
There is no longer a reason to restrict dylibs on product, make them
available.

Bug: 204303985
Test: m
Change-Id: I315d22307f64d02633940f30ae600c63f16f0e7a
2023-07-21 14:02:21 -04:00
Spandan Das
0766b4fe52 Allowlist hal_unit_tests and deps
`hal_unit_tests` is a host cc test.

Bug: 291654541
Test: b test //system/chre:hal_unit_tests
Change-Id: I1e5cbdc42a06186dc522cf53b3b2a3695147e5de
2023-07-21 17:25:31 +00:00
Joe Onorato
37f900ca7f Add aconfig flags and a generic generated library plugin module for cc
The generated module lets us keep the aconfig code in its own pacakge
and not infect all of the cc package with aconfig. It's also closer
to what bazel is going to do

Bug: 283479529
Test: m aconfig_hello_world_cc && adb push $TOP/out/target/product/panther/system/bin/aconfig_hello_world_cc /system/bin && adb shell aconfig_hello_world_cc
Change-Id: I2fb9e419939c7ca77b111da9c376af077e2348a9
2023-07-21 09:04:42 -07:00
Sam Delmerico
419f9a3802 add override_apex to version_variant test
Bug: 285138555
Test: go test ./apex
Change-Id: I973156325cc396eb6d32be3d08ea6154b722d925
2023-07-21 12:00:13 -04:00
Treehugger Robot
e4d58523b6 Merge "Ignore some new files added to partition images in sbom_test.sh." into main 2023-07-21 14:34:44 +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
Romain Jobredeaux
cc1b67631c Add DeviceAbi to product variable to build setting export
Change-Id: Ibcb9e77a28bf0c4c0915f7013a7408f65429ae15
2023-07-21 10:05:28 -04:00
Liz Kammer
d07cb48c6f Merge "Make genrule export_include_dirs more consistent" into main 2023-07-21 13:41:23 +00:00
Treehugger Robot
9064761816 Merge "Relax preprocessed apk check for non-privileged apps" into main 2023-07-21 03:47:42 +00:00
Treehugger Robot
340591c729 Merge "Enable restat for javac rules" into main 2023-07-21 01:18:27 +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
Cole Faust
edbabc6075 Denylist genrules that fail to build with sandboxing
Bug: 290816499
Test: run genrule_sandobx_test.py with a local change to check all genrules in the tree
Change-Id: I258fe11640c71d532ef48ed88270dec72bd69814
2023-07-20 15:39:04 -07:00
Chris Wailes
2e23a3d140 rustc-1.71.0 Build 10534657
Bug: https://issuetracker.google.com/issues/288268986
Test: m rust
Change-Id: If1db6f9e866eeda121f757159a02cfb9018ab270
2023-07-20 14:52:57 -07:00
Elliott Hughes
c9642681bd Remove a bunch of stuff from the libc allowlist.
bionic/libc/Android.bp explicitly declares this now.

Test: treehugger
Change-Id: I88b54c45842bdf34449cdbbcaa9cb3c2774b8b6c
2023-07-20 21:10:31 +00:00
Treehugger Robot
00d0d7af7d Merge "Add CFI product config variables to platform_mappings" into main 2023-07-20 19:31:41 +00:00
Colin Cross
7592d5a0bd Merge META-INF/services/* files in merge_zips -jar
kotlinx_coroutines_test and kotlinx_coroutine_android each provide a
META-INF/services/kotlinx.coroutines.CoroutineExceptionHandler with
different contents, and the final contents needs to be the combination
of the two files.  Implement service merging in merge_zips when the
-jar argument is provided.

Bug: 290933559
Test: TestMergeZips
Change-Id: I69f80d1265c64c671d308ef4cdccfa1564abe056
2023-07-20 18:59:35 +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
Dan Albert
94dd5651d7 Remove libandroid_support support.
This hasn't been needed since Android dropped API 19/20 support.

Bug: None
Test: m
Change-Id: I2749d6a706d4aa2fe13cac9816b4a2be9743ad24
2023-07-20 18:17:04 +00:00
Yu Liu
2cbbfb9e1d Merge "Symlink to rules_java in soong integration test." into main 2023-07-20 17:09:04 +00:00
David Fu
26661d1bb0 Merge "Added haiku presubmit packaging" into main 2023-07-20 17:00:05 +00:00