Commit Graph

6055 Commits

Author SHA1 Message Date
Treehugger Robot
c45647c798 Merge "Add missing dependency on compose plugin in kapt rules" am: 6c59cdb5c7 am: 7a0e9509bc
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2084483

Change-Id: Ia854a3da32397f2dbfff756de500db781443595e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-03 05:52:00 +00:00
Treehugger Robot
6c59cdb5c7 Merge "Add missing dependency on compose plugin in kapt rules" 2022-05-03 02:28:14 +00:00
Colin Cross
08b0a1cd79 Add missing dependency on compose plugin in kapt rules
The kapt rule uses kotlincFlags but was not using kotlincDeps,
causing the rule to get the -Xplugin argument on the compose
compiler plugin jar, but not have a dependency on it.

Bug: 231222079
Test: TestKotlinCompose
Change-Id: I4c2cf30fb7d8cad4eededa29f67f4ffd459caa41
2022-05-02 14:00:50 -07:00
Treehugger Robot
ab954a80e5 Merge "java_sdk_library_import: Delegate OutputFiles to impl library if needed" am: 9c60cc4f22 am: 4bc5fbb974
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2081279

Change-Id: I5838bc533fa4c7ff44a25283a14cdcc27d6241d8
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-29 18:26:15 +00:00
Paul Duffin
64d5a525f4 Merge "hiddenapi: Prevent libraries for Q/R from include S+ flags." am: a09d95f605 am: c06a700dcc
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2079360

Change-Id: I47fca3348146cddbc042acb5fbfeea9dbfb7bb4c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-29 18:24:49 +00:00
Victor Chang
197ec71ec9 Merge "Revert "Fix erroneous "Field requires API level 33 (current min is 32)" warnings"" am: 99666e2720 am: 611f75ea9a
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2081278

Change-Id: Ib989959b0b864c46f519d57295c5647321db009c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-29 18:16:50 +00:00
Vinh Tran
c1a8f931a3 Merge "bp2build converts java_version property to javacopts attribute" am: 775b44fa50 am: f4b263c487
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2072296

Change-Id: I65ceaa0414ca153fdb737af38dc7ec94c9a9e00e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-29 18:14:30 +00:00
Paul Duffin
3c93829245 Merge "Allow framework-media to build the framework-media.impl" am: fb14b52747 am: 79c44417b0
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2079359

Change-Id: I80bead78c74f6f3335ee68d4138f99868542e46c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-29 18:09:02 +00:00
Treehugger Robot
62803617c5 Merge "Replace DEX_FLAGS by flags for D8 and R8." am: d5a57a5679 am: 1b50e80f92
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2059767

Change-Id: I6843e40400b06f971ce2f5d152d667774f5f603d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-29 18:05:04 +00:00
Ulya Trofimovich
340fa7cca8 Merge "Remove obsolete dexpreopt config option UseArtImage." am: a465e28bcb am: c58470bc37
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2069027

Change-Id: I715de13e60f746c9e5be2433116a727783af9007
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-29 18:04:44 +00:00
Treehugger Robot
9c60cc4f22 Merge "java_sdk_library_import: Delegate OutputFiles to impl library if needed" 2022-04-29 17:27:23 +00:00
Paul Duffin
1e940d5b44 java_sdk_library_import: Delegate OutputFiles to impl library if needed
Bug: 230846030
Test: m nothing
      # Cherry pick into build with prebuilts enabled to verify.
Change-Id: I5ac9b1cdd2fc61efbc988e84556202ff6cd57146
2022-04-29 14:42:04 +01:00
Paul Duffin
a09d95f605 Merge "hiddenapi: Prevent libraries for Q/R from include S+ flags." 2022-04-29 13:37:35 +00:00
Victor Chang
99666e2720 Merge "Revert "Fix erroneous "Field requires API level 33 (current min is 32)" warnings"" 2022-04-29 10:34:41 +00:00
Nataniel Borges
5d80d895b6 Revert "Fix erroneous "Field requires API level 33 (current min is 32)" warnings"
This reverts commit 8b7f627f30.

Reason for revert: b/230821289

Change-Id: I3032103b174c78586b38b64d2748ec5a42fa9522
2022-04-29 09:49:16 +00:00
Vinh Tran
3ac6daf47c bp2build converts java_version property to javacopts attribute
This CL also converts `external/rappor` (which already set `java_version` to `1.7`) to be bazelable to testify the changes.

Results from `b build //external/rappor && cat bazel-bin/external/rappor/librappor.jar-0.params`: https://paste.googleplex.com/5518725462622208.

Test: go test ./bp2build/...
Bug: 227618664
Change-Id: I8d370d4639f70fba51e6de6ceb7bcb5ace9ccd91
2022-04-28 18:52:48 -04:00
Paul Duffin
fb14b52747 Merge "Allow framework-media to build the framework-media.impl" 2022-04-28 21:10:16 +00:00
Paul Duffin
09817d66de hiddenapi: Prevent libraries for Q/R from include S+ flags.
The Q and R runtimes can handle Q/R flags but not S flags. So, this
change verifies that any library that can run on Q/R
(min_sdk_version <= R) by adding --max-hiddenapi-level=max-target-r
to the "hiddenapi encode" command. That will cause a failure if any
S+ flags are found in the flags to encode.

Bug: 172453495
Test: m droid && launch_cvd
      Cherry pick changes in https://r.android.com/q/topic:max-target-s
      Add @UnsupportedAppUsage maxTargetSdk=S in classes in framework-permission (for r/q)
      and framework-permission-s (nominally for S+). I had to incresed the min_sdk_version
      in the latter to 31 (S) as it was still set at 30 (R).
Change-Id: Ie0f68482603adc7b4e3d7a5c81bf203d81a84a9e
2022-04-28 18:34:48 +01:00
Paul Duffin
77590a8263 Allow framework-media to build the framework-media.impl
The framework-media java_sdk_library is currently api_only for legacy
reasons. This change allows it to also build the framework-media.impl
library by making the following changes:
* Adds impl_only_static_libs to allow the implementation to statically
  include other libraries, something no other java_sdk_library has
  needed to do.
* Passes the apex_availability property through to the impl library so
  it can be statically included in the updatable-media which is what is
  included in the apex, again for legacy reasons.

Bug: 190807367
Bug: 229932396
Test: m com.android.media media-module-sdk
      # Compare before and after this change (and corresponding change
      # to updatable-media/framework-media.
Change-Id: I9e1837edcca6f5fa84fc611274cf8fbba8a896b8
2022-04-28 14:30:14 +00:00
Treehugger Robot
d5a57a5679 Merge "Replace DEX_FLAGS by flags for D8 and R8." 2022-04-28 12:40:13 +00:00
Ulya Trofimovich
a465e28bcb Merge "Remove obsolete dexpreopt config option UseArtImage." 2022-04-28 09:44:21 +00:00
Treehugger Robot
35e5179349 Merge "Fix erroneous "Field requires API level 33 (current min is 32)" warnings" am: fcf0b686aa am: 587f8c3425
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2072628

Change-Id: I7cc60174e9e525181cbf51dfd20e2e3e89f5c241
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-27 23:30:58 +00:00
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