Commit Graph

6283 Commits

Author SHA1 Message Date
Cole Faust
8b7f627f30 Fix erroneous "Field requires API level 33 (current min is 32)" warnings
Bug: 215567981
Bug: 204776549
Test: m out/soong/.intermediates/frameworks/base/framework-minus-apex/android_common/lint/lint-report.xml, then check that that file doesn't have any of these warnings
Change-Id: I39aa2228474630c93250bf5833ac6bd9bbadcc7f
2022-04-27 12:20:08 -07:00
Muhammad Haseeb Ahmad
809cd79d01 Merge "Add jni support to java_fuzz_host" am: 4e70b7586a am: 5b63f52025
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2045705

Change-Id: I3b9da743e9cf88e8defdb6610630e37a8bfa46b7
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-27 17:56:23 +00:00
Treehugger Robot
f7814a1ccb Merge "Deduplicate classLoaderContexts field between two structs." am: b3f437ae7b am: 5c02379a49
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2077658

Change-Id: I5f74c22213d7b84b5d1c2fefff18e26d1285384f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-27 17:53:01 +00:00
Muhammad Haseeb Ahmad
4e70b7586a Merge "Add jni support to java_fuzz_host" 2022-04-27 16:14:29 +00:00
Treehugger Robot
b3f437ae7b Merge "Deduplicate classLoaderContexts field between two structs." 2022-04-27 14:53:14 +00:00
Ulya Trafimovich
442ec7fc07 Remove obsolete dexpreopt config option UseArtImage.
Bug: 170935728
Test: lunch aosp_cf_x86_64_phone-userdebug && m && lunch_cvd
Change-Id: Id83b9085794fd2ec338077ca909f84e04ccad041
2022-04-27 13:36:47 +01:00
Ulya Trafimovich
12164ded20 Deduplicate classLoaderContexts field between two structs.
This field is provided by the `dexpreopter` struct, which is a part of
`java.Module` and also had an identially named field. This created
confusion when the latter field was not properly copied into the former,
which resulted in not propagating class loader context, e.g. for static
library "androidx.preference_preference". This didn't cause class loader
context mismatch errors at boot previously, because the library didn't
have any uses-library dependencies before a recent prebuilt update.

Bug: 214255490
Test: lunch aosp_cf_x86_64_phone-userdebug && m && launch_cvd \
    && adb wait-for-device && adb root \
    && adb logcat | grep -E 'ClassLoaderContext [a-z ]+ mismatch'
    # empty output, no errors at boot
Change-Id: Ib818c5d2934d28817bb7a04b6114ae8b82a5c04d
2022-04-27 11:59:34 +01:00
Treehugger Robot
0963f95b61 Merge changes I8ef31373,Ic408857d am: 7cb3f50fda am: 143af5947d
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2072577

Change-Id: I5370568a1abe5f1aad58c1f8cc4c15a44742a377
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-27 01:43:24 +00:00
Treehugger Robot
7cb3f50fda Merge changes I8ef31373,Ic408857d
* changes:
  Disable newapi check in defaults
  Enforce newapi check only if min_sdk_version < compile_sdk_version
2022-04-27 00:55:56 +00:00
Muhammad Haseeb Ahmad
7e74405b2d Add jni support to java_fuzz_host
Bug: 219782880
Test: m example_java_fuzzer_with_native_lib, go test -run TestJavaFuzz
Change-Id: I1d05fb449e5378a27a0096869d9c12ca0a1245c6
2022-04-26 18:49:02 +00:00
Spandan Das
397e910835 Disable newapi check in defaults
- Making newapi disabled by default will ensure that this lint check
  does not run on the platform. This prevents noisy lint warnings like b/228956345#1
- This lint check will continue to be enforced on the transitive deps of
  apexes, since lint.strict_updatability_linting will be true for those
  Soong modules

Test: TH
Test: m
out/soong/.intermediates/frameworks/base/services/core/services.core.unboosted/android_common/lint/lint-report.xml
// file no longer contains "Call requires API level ..." warning
Bug: 228956345

Change-Id: I8ef3137394011fb679a1129f80f6351fb05a4eff
2022-04-25 18:17:11 +00:00
Spandan Das
ba7e532a11 Enforce newapi check only if min_sdk_version < compile_sdk_version
- NewApi check should be enforced only if min_sdk_version is less than
  the compile_sdk_version (the opposite direction should be a different
  build-time error)
- Change the datatype of *sdkVersion to android.ApiLevel (from string)
  to support version comparisons

Test: go build ./java
Test: no changes in ninja file
Bug: 228956345

Change-Id: Ic408857db7760d912ef4694d2ed72c0b7106eb04
2022-04-25 18:12:50 +00:00
Ian Zerny
727ab9033a Replace DEX_FLAGS by flags for D8 and R8.
This adds the heap space flag currently set in wrappers.

Bug: b/227746536
Test: manual
Change-Id: Ic3cb8feb7a09d690ecd309162236e49a8d1e52c6
2022-04-25 11:17:07 +02:00
Treehugger Robot
e0a1f2edf8 Merge "Fix error message formatting" am: 224879e794 am: 16991b22ad
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2073767

Change-Id: I65e7cf023c69ab37e512bb7d25e4979ee41639cb
Ignore-AOSP-First: this is an automerge
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-23 12:57:36 +00:00
Treehugger Robot
224879e794 Merge "Fix error message formatting" 2022-04-23 12:24:08 +00:00
Pedro Loureiro
ea2f5eff5e Fix error message formatting
Test: m nothing

Fixes: 230086179
Change-Id: Ieb6a7de9dcf0c12184c868b5af9af52c7b4bfa5e
2022-04-22 13:53:16 +00:00
Treehugger Robot
d5696881ec Merge "Limit JIT tier for D8" am: 00be8b8bda am: 62737cf4f7
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2070112

Change-Id: Id84b9462597e68db95a26913d36e0b78212a877a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-22 07:49:49 +00:00
Jared Duke
0cf7c9686d Limit JIT tier for D8
Standalone D8 invocations tend to be shorter-lived than R8 invocations
that involve deeper layers of bytecode optimization. Introduce a
separate set of JVM flags to pass to D8 invocations which limit the
runtime JIT tiering, reducing overall compile times and significantly
reducing total CPU consumption for D8 build workloads.

Representative incremental build times with this change:
 * real 6m1.388s
 * user 63m32.412s
and without:
 * real 6m30.624s
 * user 79m12.626s

Bug: 205303544
Test: time m
Change-Id: Ic568a4316325c6a4e0da41ffebbb07f0c5f7e8e3
2022-04-21 18:24:52 +00:00
Vinh Tran
c4add3f86c Merge "Update doc for Platform_apis field in DeviceProperties" am: ef4a5a3028 am: 58d8a1e993 am: c9d25bd9d8
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2065673

Change-Id: I1fe398cc641588e89271fa3547ccc6cf9da33455
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-19 01:36:41 +00:00
Vinh Tran
ef4a5a3028 Merge "Update doc for Platform_apis field in DeviceProperties" 2022-04-19 00:14:16 +00:00
Vinh Tran
d91939ee84 Update doc for Platform_apis field in DeviceProperties
The doc for Platform_apis is outdated. The property is used by not only android_app, but also android_test and android_test_helper_app

https://cs.android.com/android/platform/superproject/+/master:build/soong/java/app.go;l=382;bpv=1

Next steps:
1. Clean up existing misuse of Platform_apis and Sdk_version in android_test and android_test_helper_app.

2. Add validation check to ensure proper use of Platform_apis and Sdk_version moving forward android_test and android_test_helper_app.
Currently, android_app already has validation in place. https://cs.android.com/android/platform/superproject/+/master:build/soong/java/app.go;l=275;bpv=1;bpt=1
WIP: https://android-review.googlesource.com/c/platform/build/soong/+/2065270

Test: N/A
Change-Id: I934860cdc8b23268d70e205089118c6451d4cf8a
2022-04-18 19:51:34 +00:00
Yike Zhang
2b18574ee0 Merge "Export Java library dependency information" am: 29f5068a1c am: 51d0f34e93 am: c3763358db
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2063668

Change-Id: I043e0aac97d79520bd1f4f2140fda5f774e7a206
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-18 06:04:36 +00:00
Yike Zhang
29f5068a1c Merge "Export Java library dependency information" 2022-04-18 04:58:47 +00:00
Yike
f628202aab Export Java library dependency information
Write `static_libs` and `libs` of Java library and Android app modules to module_bp_java_deps.json. This enables downstream tools to correctly set up the runtime environment. Note that while static libraries don't need to be on the Java classpath these modules could have non-static library dependencies that do need to be present.

Test: m out/soong/module_bp_java_deps.json
Bug: 227538646
Change-Id: I7c4aecb2fb03c890f0d2aaae80e619f6176809ef
2022-04-18 10:23:28 +08:00
Vinh Tran
b8aab29909 Merge "Update doc for DeviceProperties's Sdk_version field" am: 62a2fd93de am: cfbb243ff2 am: 3830ae1ecd
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2065271

Change-Id: I4c6e1267c6e89be8ba65babbd04467a847b758b8
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-15 00:53:03 +00:00
Vinh Tran
62a2fd93de Merge "Update doc for DeviceProperties's Sdk_version field" 2022-04-14 23:42:51 +00:00
Vinh Tran
1fa6b944bb Merge "Document AARImportProperties fields" am: 08e0f96841 am: a5580107d0 am: 564bdea9ad
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2063168

Change-Id: I5a324f4aaf8c3d074caf58fd5f8b84ac4a0f5a99
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-14 21:38:05 +00:00
Vinh Tran
a9c8f7db27 Update doc for DeviceProperties's Sdk_version field
Test: N/A
Change-Id: I7848ce27a5dcecaf24b0129908f6673dd1fdb63f
2022-04-14 21:02:16 +00:00
Vinh Tran
08e0f96841 Merge "Document AARImportProperties fields" 2022-04-14 20:25:11 +00:00
Vinh Tran
d067eae547 Merge "Fix documentation for android_app_import" am: fc5b47e5d4 am: 6d7f6c7442 am: 10af7350c9
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2062873

Change-Id: I2bd39f9eef125a33ecf9d7128ae3da777d9f864b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-14 18:14:22 +00:00
Vinh Tran
4ae8d4ac46 Fix documentation for android_app_import
Test: N/A
Fix: 226586426
Change-Id: I588a249a85d152f37f5d1bd7157cfab120185648
2022-04-13 21:40:23 +00:00
Jeff Sharkey
50493f0797 Hacky workaround for half-finalized builds.
Metalava increments the SDK level by one when it's not "REL", so we
temporarily force the build to be "REL" while we're still in the
process of finalizing it.

This CL must be reverted as part of actually declaring "REL".

Bug: 171506470
Test: Build
(cherry picked from commit 05597c0cc4)

Change-Id: I18405cdd27769598f5e7a6a968f0dd473f936f6c
2022-04-13 12:36:52 +00:00
Vinh Tran
ce0781f8f5 Document AARImportProperties fields
Test: no testing necessary

Change-Id: Idff223f5c9a0b89cd5e0e2c8782c700d8fe9e9b3
2022-04-13 02:12:37 +00:00
Treehugger Robot
9bad6061fb Merge "Remove implementation details from stub flags in sdk snapshot" am: 03f951d026 am: bd5971349d am: 54bbc2a41e
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2056470

Change-Id: Id015abe20918c741d01e6df7889ca7dc9e82f5f7
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-12 21:50:18 +00:00
Paul Duffin
bd88c882f6 Remove implementation details from stub flags in sdk snapshot
Previously, the build applied the same filtering to remove
implementation details from the sdk snapshot's stub-flags.csv file as
it did for its all-flags.csv, i.e. removing the signatures that only
had a "blocked" flag. Unfortunately, that had no effect on the stub
flags as the implementation signatures had no flags, not a single
blocked flag. That meant that the sdk snapshot's
filtered-stub-flags.csv file contained a lot of implementation details.

This change removes signatures from stub-flags.csv that have no flags
which removes all implementation details from the sdk snapshot.

Bug: 194063708
Test: atest --host verify_overlaps_test
      m out/soong/hiddenapi/hiddenapi-flags.csv
      m art-module-sdk
      # Check contents of its filtered-stub-flags.csv file
Change-Id: I30edc77348fad118ea732e787ae8e206c8841f84
2022-04-12 17:44:15 +01:00
Colin Cross
6bfe9bc4fa Merge changes I046d75db,Ie13817dc am: d2aa190bdc am: f2c86c8c76 am: 1a3ea67458
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2058908

Change-Id: I9ab91976903abbb4e3ec17b3d26db15447f074d6
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-12 00:58:51 +00:00
Colin Cross
412436f7fe Don't panic if no certificates found
Getting the first certificate will panic if there are no certificates,
which can happen when AllowMissingDependencies is set and the
certificate property is a module reference to a missing module.
Only get the first certificate if the list is not nil.

Bug: 228379411
Test: TestAppMissingCertificateAllowMissingDependencies
Change-Id: I046d75dbbd4f21f4a2b6851f558e430e9879fcff
2022-04-11 11:50:34 -07:00
Colin Cross
abc0dab477 Move proguard test files to java package
The proguard test files are duplicated in apex and sysprop and will
be needed by app tests, move them to the java package.

Test: run all soong tests
Change-Id: Ie13817dcda8d98801d16a97ffceef1100c7d5380
2022-04-11 11:44:32 -07:00
Treehugger Robot
0bd019264a Merge "convert logtags in java srcs" am: b6e1614272 am: af8e9c73e6 am: 311f9a2c99
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2042847

Change-Id: I579eb834bd7481c5d819d2f469e663018aad09a0
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-08 23:49:41 +00:00
Treehugger Robot
b6e1614272 Merge "convert logtags in java srcs" 2022-04-08 22:37:22 +00:00
Treehugger Robot
759f5a25a6 Merge changes from topic "export-vars" am: a2a7b57924 am: 066a777c15 am: fefe3547a2
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2044966

Change-Id: I3f71b23b335baa61b0b997e454d900a8e914c549
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-08 18:36:58 +00:00
Treehugger Robot
a2a7b57924 Merge changes from topic "export-vars"
* changes:
  export Java variables to Bazel
  refactor Bazel variable export
2022-04-08 17:31:23 +00:00
Sam Delmerico
24da73c032 convert logtags in java srcs
Some java_* modules contain .logtag files in their srcs, but we should
separate these out into their own targets.

Test: enabled QuickSearchBox and build
Change-Id: I595722ca59686d450ff522987a15ce283d3607e0
2022-04-08 14:43:18 +00:00
Paul Duffin
47d2f67b63 Merge "Use named options for verify_overlaps" am: 510a5e054d am: 0971c66db1 am: 965a6b6ace
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2056469

Change-Id: I4286758276a613ade977eba53192875d9b4b4fd9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-08 14:40:21 +00:00
Sam Delmerico
932c01cf9e export Java variables to Bazel
Test: build/bazel/bp2build.sh
Change-Id: Ia06f9265c9f96e6add6edbd0cee925fe37b430d3
2022-04-08 14:15:43 +00:00
Paul Duffin
0c12b78ae8 Use named options for verify_overlaps
Previously, verify_overlaps used positional arguments, the first was
the monolithi flags and the rest were the module flag pairs (filtered
flags file and signature patterns file). This change makes them use
named options to make the purpose of the arguments clearer on the
command line.

Bug: 194063708
Test: atest --host verify_overlaps_test
      m out/soong/hiddenapi/hiddenapi-flags.csv
Change-Id: Ife0af0016eb0f91416e8330d5d98cb53c97d68a4
2022-04-08 10:56:21 +01:00
Matt Banda
fd70f165f1 Merge "Surface Java APIs Used By APK-only Modules." into tm-dev 2022-04-07 00:04:38 +00:00
Isaac Chiou
b42b4bbabe Merge "Revert "Use kapt stubs for kotlin header jar for javac"" am: c7bb9d47d6 am: 7d2d0e6d77 am: ef91866a4f
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2057288

Change-Id: Ic77576558d3734d45b3d2773def8f2ed2d0acc72
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-06 09:24:10 +00:00
Isaac Chiou
c7bb9d47d6 Merge "Revert "Use kapt stubs for kotlin header jar for javac"" 2022-04-06 08:25:29 +00:00
Isaac Chiou
a23d994022 Revert "Use kapt stubs for kotlin header jar for javac"
This reverts commit c6ef485370.

Reason for revert: Multiple systemui presubmits are broken due to this change

Bug: 228262695
Change-Id: I1efed519c49d8d0583815c7bf2b3801bf0ba12fa
2022-04-06 07:04:09 +00:00