Commit Graph

7015 Commits

Author SHA1 Message Date
Mark White
beb6e9ffdb SdkTestCore for non-updatable modules
Provides SdkTestCore/test_core_current sdk_version for non-updatable
modules that have their test scope dependent on test apis from
framework-minus-apex.

Ignore-AOSP-First: Change in topic with internal-first projects
Bug: 289776578
Test: m checkapi | go test ./java

Change-Id: Iba3213e8c34ea75ac9dd8532a95ef62fb5455e6c
2023-08-15 12:37:37 +00:00
Treehugger Robot
4189ebdbd5 Merge "Re-enable checks that pass in udc-dev-plus-aosp and downstream" into udc-dev-plus-aosp am: b2ddb1dba6 am: bbfb393d25 am: c297bae679
Original change: https://googleplex-android-review.googlesource.com/c/platform/build/soong/+/24376335

Change-Id: I89f272f444615a3928d3fcfa4d0fc19e6175b590
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-08-11 00:05:54 +00:00
Treehugger Robot
e9f33e5975 Merge "Replace -bootclasspath and -classpath metalava options with --classpath" into main am: 19e00b350a am: d55db730fa am: 3f83296cd6 am: 5d2c8373f0 am: 68d483241f
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2703433

Change-Id: I50d3c1d91048fdcc0df57c7786176313cbb9407f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-08-10 22:34:32 +00:00
Treehugger Robot
b2ddb1dba6 Merge "Re-enable checks that pass in udc-dev-plus-aosp and downstream" into udc-dev-plus-aosp 2023-08-10 20:48:23 +00:00
Paul Duffin
f8aaaa13f4 Replace -bootclasspath and -classpath metalava options with --classpath
Metalava has not differentiated between bootclasspath and classpath for
years so this change replaces the use of the two deprecated single
hyphen options with `--classpath`.

Bug: 295136054
Test: m checkapi
Change-Id: I3ab20b76a60cab66a27784b7d87a069813d19835
2023-08-10 15:16:35 +01:00
Colin Cross
bdc0578df1 Re-enable checks that pass in udc-dev-plus-aosp and downstream
Re-enable ForegroundServiceType and MutableImplicitPendingIntent,
which have been fixed in udc-dev-plus-aosp and downstream.

Bug: 294098365
Test: treehugger
Ignore-AOSP-First: re-enabling checks that fail in AOSP
Change-Id: Ifa581e8d346cf7e70387d6aa3135203d6a7d621b
2023-08-09 14:52:50 -07:00
Treehugger Robot
7029bed5ed Merge "Stop using single-hyphen metalava options" into main am: 18801036c7 am: 552bba8fe8 am: 5117cdf8dc am: 23679dd6d9 am: 3b81eca727
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2700874

Change-Id: I0075a192e347d26f2235553330f94be3ab07e61b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-08-09 18:11:16 +00:00
Treehugger Robot
18801036c7 Merge "Stop using single-hyphen metalava options" into main 2023-08-09 14:35:40 +00:00
Paul Duffin
808211e519 Stop using single-hyphen metalava options
`-encoding` and `-source` have been deprecated in metalava.

`-encoding` actually does nothing apart from check to make sure that
the value is `utf-8` (in some case). Metalava always uses `utf-8`.

`-source` has been deprecated in favor of `--java-source` as metalava
also can consume kotlin and it has its own `--kotlin-source` option.

Bug: 295136054
Test: ./gradlew
Change-Id: I08e6931958f40022d65d417360e32b72a1d70444
2023-08-09 12:38:46 +01:00
Colin Cross
9b419ad17f Merge "Don't generate aapt2 srcjars when using resource processor" into main am: 002764c8ee am: 1a436c9b61 am: c2bb066321 am: 005bef73b0 am: e6c9c91cb9
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2690449

Change-Id: Ia0223900eac77f27ae8cce63607f523c434d8217
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-08-08 22:21:24 +00:00
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
002764c8ee Merge "Don't generate aapt2 srcjars when using resource processor" into main 2023-08-08 18:57:02 +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
f3b7bada56 Don't generate aapt2 srcjars when using resource processor
When using resource processor the R.class files are generated
directly, and the R.java files generated by aapt2 are unused.  These
files can huge, reaching 500 MB for some modules and 76 GB across
all modules for a checkbuild on internal main.  They will be deleted
after zipping into srcjars after Ie5143e1e4b36ca1f4e45b001d79aca5379063517,
but we can skip generating them completely for modules where resource
processor is used.

Bug: 284023594
Bug: 294285775
Test: m checkbuild
Change-Id: If5e3fd1d25c6c7860898776ecdd392be8850c17c
2023-08-02 21:50:38 -07: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