Commit Graph

7964 Commits

Author SHA1 Message Date
Treehugger Robot
61958c4581 Merge "Enable restat for kapt stubs rules" into main am: f2d858e5ba
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2755510

Change-Id: Id1bda3613b5073ccd8786e81379676f08d637d55
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-20 21:12:53 +00:00
Treehugger Robot
1ceda3d5f8 Merge "Use same symbol for all receiver functions" into main am: 7ae5a5b8cb
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2756985

Change-Id: I75bf73d10820621dac581358255f9d0295510d50
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-20 21:12:40 +00:00
Treehugger Robot
f2d858e5ba Merge "Enable restat for kapt stubs rules" into main 2023-09-20 20:40:28 +00:00
Romain Jobredeaux
947dfa760b Bp2build support for JNI deps of android_app.
Change-Id: I3f934ecb0323129e1bb1eb75527395e39467380d
Bug: 297405812
2023-09-20 16:09:13 -04:00
Spandan Das
0e0a880fdd Mark android apps with jni_uses_*_apis as unconvertible
These properties are used to determine if the app should include the sdk
variant of jni libs. Till we support this, mark androi_app/android_test
that set this property as uncovertible in allowlist v2

Bug: 299360988
Test: created a test app in an android.bp and verified that an
equivalent target is not created if either of these props are set

Change-Id: I925745d2667866a12b71788dc8f1bb1e1f3472cc
2023-09-20 19:53:30 +00:00
Christopher Parsons
88db04e1a9 Merge "Have ConvertWBp2build use Bp2buildMutatorContext" into main am: c331812a59 am: 95f97af223
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2756986

Change-Id: If359a892ba0234fd8cb6842bfb0109644bd1a448
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-20 18:36:11 +00:00
Christopher Parsons
95f97af223 Merge "Have ConvertWBp2build use Bp2buildMutatorContext" into main am: c331812a59
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2756986

Change-Id: I541a63831ce789071cae8554e801fe323be3c6bd
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-20 18:32:15 +00:00
usta
0391ca4eaa Use same symbol for all receiver functions
cosmetic change

Bug: NA
Test: NA
Change-Id: I1781de1bd2108547f4da2a967d72a3a56e7362ed
2023-09-20 18:01:44 +00:00
Liz Kammer
046539cacb Merge changes from topic "prebuilt-cc-shared-always" into main am: 9e12c78637 am: c4298a325d am: 336739ca4a am: 27d037d592 am: 9dd112bd8c
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2755385

Change-Id: I7b9349b42ff46e5c2e88621da0ab1f82e7c77847
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-20 17:40:58 +00:00
Colin Cross
ed27322aa5 Enable restat for kapt stubs rules
The output of the kapt stubs rules only change when the public interface
of a kotlin class changes, which makes them a good candidate for restat.
This will prevent some unnecessary reruns of turbine annotation
processing.

Bug: 297356926
Test: builds
Change-Id: I39bd63284fd37058f69a0a3dace1ea5f4f50e8b5
2023-09-20 09:53:39 -07:00
Liz Kammer
336739ca4a Merge changes from topic "prebuilt-cc-shared-always" into main am: 9e12c78637 am: c4298a325d
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2755385

Change-Id: I7e9b54f36fa6fb32b3c070579859a66bdf3600d7
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-20 15:01:49 +00:00
Chris Parsons
637458d326 Have ConvertWBp2build use Bp2buildMutatorContext
This no-op refactoring facilitates some upcoming functional changes for
"bp2build allowlist v2". The work requires that the bp2build conversion
mutator be changed from a TopDown mutator to a BottomUp mutator.
Refactoring all bp2build-related methods so that they use Bp2buildMutatorContext
makes it easier to make this functional change without touching tens of
files and multiple projects.

Bug: 285631638
Test: m bp2build
Change-Id: I3d1ef3064146e959c6f0dc315350fc9764bf2bd2
2023-09-20 14:49:35 +00:00
Jingwen Chen
2848be4236 bp2build converter for android_test_helper_app.
This module converts simply to an android_binary, but with testonly = True.

Test: new unit tests
Test: new example app
Fixes: 283518652
Change-Id: If6b7661c32caa7dada6d492cce106d96236f6205
2023-09-20 14:31:17 +00:00
Liz Kammer
c4298a325d Merge changes from topic "prebuilt-cc-shared-always" into main am: 9e12c78637
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2755385

Change-Id: Id551b291d40a64b5c48aea5e77bf0e47941408fe
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-20 14:03:51 +00:00
Christopher Parsons
c382699779 Merge "Refactor bp2build tests for allowlist v2" into main am: 06ac78ce40 am: 3092afc3c2 am: aa457e173a am: ce578b24dd am: ea0d0aace4
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2755925

Change-Id: Ifc5de4b6cf86c35cf230f0b2964f6a04a562960e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-20 00:45:58 +00:00
Christopher Parsons
aa457e173a Merge "Refactor bp2build tests for allowlist v2" into main am: 06ac78ce40 am: 3092afc3c2
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2755925

Change-Id: Id717d1038a870056db7ff47701e196410b979615
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-19 21:21:36 +00:00
Christopher Parsons
3092afc3c2 Merge "Refactor bp2build tests for allowlist v2" into main am: 06ac78ce40
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2755925

Change-Id: I67fedb5715b0d6cdb90f7f7af0187289a504f955
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-19 20:24:22 +00:00
Liz Kammer
9a97a8f62a Implement bp2build for java_sdk_library_import
Test: go test bp2build conversion tests
Test: enable modules build from prebuilt and m nothing
Bug: 300640274
Change-Id: I8c015aec546d052bef6c42869e12db4e87d39780
2023-09-19 15:58:22 -04:00
Chris Parsons
cd209035aa Refactor bp2build tests for allowlist v2
Allowlist v2 will change bp2build by automatically disabling rdeps of
unconvertible modules. Many bp2build tests create bp2build stub modules
without an implementation,
This CL changes setup of such tests to also contain a BUILD file with
"stub implementations" of equivalent targets, to keep these test targets
convertible.

To verify this change in-place, this CL removes `bp2build_available:
false` from these dependencies.

This is a test-only change for bp2build tests.

Bug: 285631638
Test: m bp2build
Change-Id: I489480cbc4158a416b7abf57c35a6e2bc2ad6173
2023-09-19 17:04:11 +00:00
Jingwen Chen
3284042a0e Merge "[bp2build] android_test bp2build." into main am: 088c4b652b am: 3aaf1a80bd am: 3a02b22205 am: cd2454b172 am: 278d4778c8
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2727561

Change-Id: I7594547b6f80d7b63cde2458d556ccad3b7d508e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-19 02:46:52 +00:00
Jihoon Kang
b2386a378a Merge "Create java_api_contribution_import from sdk_library_import" into main am: 18a33e51c6 am: 578ece61ed am: 567f0186a3 am: f8b75c06ba am: 999d6f8b0a
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2748475

Change-Id: Id2100cd5a805d7d4579530992e4fb65958796e18
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-19 02:46:28 +00:00
Treehugger Robot
9e4277c9c0 Merge changes I8466db71,I83180699 into main am: e50b0f5558 am: 0efaada4cd am: 0053d8082b am: 4e5024f516 am: 75625e3a04
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2752165

Change-Id: I4c6e652c3c77bfd2c3022c10b33e8c6271b0bb9e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-19 02:45:01 +00:00
Treehugger Robot
b6fb869ebd Merge "Unconditionally generate hash-based proguard mapping files" into main am: 46465666cc am: 92547162cd am: 96d1710972 am: e08ad862bf am: 2df2ef3e02
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2752996

Change-Id: Iba1ec2aae50ddf406597b47e7cae5dc50a8d30f5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-19 00:11:44 +00:00
Jingwen Chen
3a02b22205 Merge "[bp2build] android_test bp2build." into main am: 088c4b652b am: 3aaf1a80bd
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2727561

Change-Id: I629c0b2f44b1a50cb4f487d077f63036cf96862d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-19 00:11:04 +00:00
Treehugger Robot
c9a581f5dc Merge "don't compress JNI libs extracted from aar_import" into main am: 35bc07cb2a am: 16542620eb am: fcc7fcf1eb am: 1edc01ae07 am: ed965f2258
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2636192

Change-Id: I2c8f767315f91cf3039b5a963f452ad62bde615b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-19 00:10:56 +00:00
Jihoon Kang
567f0186a3 Merge "Create java_api_contribution_import from sdk_library_import" into main am: 18a33e51c6 am: 578ece61ed
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2748475

Change-Id: Ia0ecca22ae35d210bec2567f0c3adbacb38860fa
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-19 00:10:55 +00:00
Treehugger Robot
0053d8082b Merge changes I8466db71,I83180699 into main am: e50b0f5558 am: 0efaada4cd
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2752165

Change-Id: Id91c263c06e3316ad27b237ce475a65384b6bdf0
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-19 00:09:38 +00:00
Jingwen Chen
3aaf1a80bd Merge "[bp2build] android_test bp2build." into main am: 088c4b652b
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2727561

Change-Id: Id15bc7e836370645f6777ecc4ad1f34cd678ba07
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-19 00:04:46 +00:00
Jingwen Chen
088c4b652b Merge "[bp2build] android_test bp2build." into main 2023-09-18 23:27:14 +00:00
Jihoon Kang
578ece61ed Merge "Create java_api_contribution_import from sdk_library_import" into main am: 18a33e51c6
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2748475

Change-Id: I86d682265a510ee60359c2517250c5f7459d3182
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-18 23:16:25 +00:00
Treehugger Robot
0efaada4cd Merge changes I8466db71,I83180699 into main am: e50b0f5558
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2752165

Change-Id: Ic32fdf1452442b879c86d52f94f9de03317ae566
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-18 23:15:08 +00:00
Jihoon Kang
18a33e51c6 Merge "Create java_api_contribution_import from sdk_library_import" into main 2023-09-18 22:24:51 +00:00
Treehugger Robot
e50b0f5558 Merge changes I8466db71,I83180699 into main
* changes:
  Sort api files by api surface in java_api_library
  Add java_api_contribution_import module type
2023-09-18 22:23:33 +00:00
Treehugger Robot
96d1710972 Merge "Unconditionally generate hash-based proguard mapping files" into main am: 46465666cc am: 92547162cd
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2752996

Change-Id: I25d720af1c0cfc711a77e31f66506bd767353672
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-18 20:34:27 +00:00
Treehugger Robot
fcc7fcf1eb Merge "don't compress JNI libs extracted from aar_import" into main am: 35bc07cb2a am: 16542620eb
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2636192

Change-Id: I44642943e4154ac2d13cdfbdcda4a6bc5035838a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-18 20:33:46 +00:00
Jihoon Kang
71c868340e Create java_api_contribution_import from sdk_library_import
This change modifies sdk_library_import so that it directly creates
java_api_contribution per api scope. The module creates api_contribution
module for api scopes where the api file is specified.

Test: m nothing && MODULE_BUILD_FROM_SOURCE=false m nothing
--build-from-text-stub and inspect ninja dependency of java_api_library
Bug: 300175323

Change-Id: I74be3b4f1efef7f7d1cb8bd7b6c893b9cef0f370
2023-09-18 19:33:28 +00:00
Jihoon Kang
8fe1982e8b Sort api files by api surface in java_api_library
metalava requires api files to be sorted in the narrower api scope to
the wider api scope when passed as inputs. Previously, the api files
were sorted based on the naming convention, but some api files in
prebuilts do not necessarily follow the naming convention (i.e.
*-current.txt). Therefore, utilize the api surface information provided
by the java_api_contribution provider instead of the naming convention
to sort the api files.

Test: m nothing
Bug: 300175323
Change-Id: I8466db712bff8fef906186bd272d85682877533d
2023-09-18 19:33:01 +00:00
Treehugger Robot
92547162cd Merge "Unconditionally generate hash-based proguard mapping files" into main am: 46465666cc
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2752996

Change-Id: I826e56a4f20739e0fc05f94ecddb68b6fc938309
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-18 18:56:21 +00:00
Treehugger Robot
16542620eb Merge "don't compress JNI libs extracted from aar_import" into main am: 35bc07cb2a
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2636192

Change-Id: I7c94b0fb24d2c4a272308a932f1261638d94a546
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-18 18:56:02 +00:00
Treehugger Robot
46465666cc Merge "Unconditionally generate hash-based proguard mapping files" into main 2023-09-18 18:33:38 +00:00
Treehugger Robot
35bc07cb2a Merge "don't compress JNI libs extracted from aar_import" into main 2023-09-18 18:20:52 +00:00
Jared Duke
b832fbb643 Unconditionally generate hash-based proguard mapping files
Previously, this was restricted to targets that enable R8 full mode, but
that was really just a temporary carveout to avoid disrupting other
targets. Since then, R8 full mode has been enabled by default for all
app targets, and the hash-based mapping mechanism is further integrated
into various debugging and retracing pipelines.

As of now, there are are only a very small number of targets that have
enabled optimization/obfuscation and are still using R8 compat mode, so
the build-time impact of this change should be minimal, and there should
be no functional runtime side effects.

Bug: 297566172
Test: m framework-appsearch + inspect proguard mapping
Change-Id: I5dfea60f60dc37b8445c8fddba6a4eab0dc41d96
2023-09-18 16:05:16 +00:00
Romain Jobredeaux
3132f843f1 Use raw {min,target}_sdk_version properties in android_app converter
The logic of EffectiveVersionString is product-variable dependent and
is being implemented bazel-side in order to produce product agnostic
BUILD files. A required additional product variable is added to the
export list, and the "updatable" property of android_app is also bp2build-converted.
Handling of max sdk version was not correct (it does not affect
manifest values in Soong), so removing it for now.

Bug: 274474008
Bug: 274474002
Test: CI
Change-Id: I7a10bfabf914c8e86064b7ce61926701f87517e3
2023-09-18 10:02:35 -04:00
Jingwen Chen
e12c083198 [bp2build] android_test bp2build.
android_test is just an android_app, but the test bits are handled
purely in Starlark (tradefed_test_impl).

This enables building HelloWorldTests (android_test) with Bazel.

Bug: 297030120
Bug: 297029612
Test: WIP
Change-Id: I6d287c94b31698ea247da48e4cd6b5a75bc71e11
2023-09-18 12:39:06 +00:00
Zi Wang
0e1590cff7 Merge changes from topic "drop_deps_no_srcs" into main am: 5d982b398e am: cccefd7433 am: 7ccd48617c am: 8f1e3e697c am: 448d6bdcbe
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2752995

Change-Id: I3eb2da804ebfc6ef63777b55d2b2af02e1175711
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-16 00:35:54 +00:00
Jihoon Kang
fdf323697e Add java_api_contribution_import module type
java_api_contribution_import is a prebuilt module type of
java_api_contribution. It's build actions are identical to those of
java_api_contribution.

Test: m nothing
Bug: 300174357
Change-Id: I831806990b37b340af21858eb2bab5de62fdf7a9
2023-09-15 22:52:52 +00:00
Zi Wang
7ccd48617c Merge changes from topic "drop_deps_no_srcs" into main am: 5d982b398e am: cccefd7433
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2752995

Change-Id: I2bf4f8a67332da3d970ed7e24fc612658c4523ee
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-15 21:57:54 +00:00
Zi Wang
cccefd7433 Merge changes from topic "drop_deps_no_srcs" into main am: 5d982b398e
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2752995

Change-Id: I095b48f0bbe31fdc65df43a81693b7dfb7c60da8
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-15 20:59:17 +00:00
Zi Wang
5d982b398e Merge changes from topic "drop_deps_no_srcs" into main
* changes:
  Always drop deps from java_library with no srcs
  Do not append deps to exports when java_library has only proto srcs
2023-09-15 20:39:35 +00:00
Zi Wang
dd93636f1e Always drop deps from java_library with no srcs
This is the follow up from aosp/2750763

Test: CI and added unit test

Bug: 285952385
Change-Id: I64703ee4fa742b718ffb43f2af1b6ab43ddeb606
2023-09-15 10:37:16 -07:00