Commit graph

7105 commits

Author SHA1 Message Date
Anton Hansson
3efbb3649e Merge "Make the srcjar for bcp available in OutputFiles" into main am: 0843b79d8c am: 4e34213372
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2760367

Change-Id: Ifdcedf2168b38559e2c5973bbacb5ad3ae38dd3e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-28 18:28:58 +00:00
Anton Hansson
f7931b390a Merge "Add srcjar output for platform_bootclasspath" into main am: c38757d0c0 am: 10d91d7107
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2757569

Change-Id: I6ebb3f0be38af38f2f862593a3f185579d231d7d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-28 18:28:50 +00:00
Anton Hansson
4a1fdf1964 Merge "Collect transitive source files for java modules" into main am: 9231132099 am: ea95719555
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2757568

Change-Id: Idad894c8cf621d172f8dc6f9504064de379d0bec
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-28 18:28:40 +00:00
Zi Wang
965367f3e0 Merge "Always drop deps from android_library with no srcs" into main am: 2201343fce am: 50225c86b6
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2765453

Change-Id: I1e4500e867959ceae0e96498fa6270772513befa
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-28 18:27:58 +00:00
Anton Hansson
0843b79d8c Merge "Make the srcjar for bcp available in OutputFiles" into main 2023-09-28 17:09:50 +00:00
Anton Hansson
c38757d0c0 Merge "Add srcjar output for platform_bootclasspath" into main 2023-09-28 16:56:55 +00:00
Anton Hansson
9231132099 Merge "Collect transitive source files for java modules" into main 2023-09-28 16:46:30 +00:00
Zi Wang
2201343fce Merge "Always drop deps from android_library with no srcs" into main 2023-09-28 16:16:51 +00:00
Anton Hansson
b3738ed1f4 Make the srcjar for bcp available in OutputFiles
This makes it possible for Android.bp files to depends on the srcjar.

Bug: 151360309
Test: m platform-bootclasspath.srcjar
Change-Id: Id42cc3cff89c084b55c7fb0726ad84ecd4f50f58
2023-09-28 13:22:39 +00:00
Anton Hansson
57162c515e Add srcjar output for platform_bootclasspath
This output contains all the transitive sources that are contained in
the bootclasspath.

It's currently limited to source-built bootclasspath components. Future
work will make this deal with sdk_library prebuilts.

Bug: 151360309
Test: unit test, as well as manual inspection of platform-bootclasspath
Change-Id: Ie05d8125e19736d8b4b9ebafb70b88a0a40069d5
2023-09-28 13:21:21 +00:00
Anton Hansson
0e73f9ee6d Collect transitive source files for java modules
This new entry in the JavaInfoProvider lists all the transitive source
files contained within the library. That is, the source files of the
module and all its static dependencies.

Bug: 151360309
Test: unit test in java_go + some manual testing
Change-Id: I7fe3035b9e46774095c0e9196cd77fa1027adf6d
2023-09-28 13:20:49 +00:00
Maxim Siniavine
4a564b5bcd Revert "Add flagged api hide conditional to droidstubs" am: 1180919dda am: 57639c5e65
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2766347

Change-Id: Iba5f7b34be3865e9ac5a72c05a8113e2c0eff55d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-28 03:02:11 +00:00
Maxim Siniavine
57639c5e65 Revert "Add flagged api hide conditional to droidstubs" am: 1180919dda
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2766347

Change-Id: Iecdfb508043d33ed23479d4fe758980943b629d6
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-28 01:55:22 +00:00
Maxim Siniavine
4aa82a13db Merge changes from topic "revert-2755310-HIIDCMFNIU" into main
* changes:
  Revert "Add soong config variable Release_expose_flagged_api"
  Revert "Add flagged api hide conditional to droidstubs"
2023-09-28 01:08:44 +00:00
Maxim Siniavine
1180919dda Revert "Add flagged api hide conditional to droidstubs"
Revert submission 2755310

Reason for revert: Broken build b/302407753

Reverted changes: /q/submissionid:2755310

Change-Id: I56306fc3b7e5608d21dbefe18d6a886561599f40
2023-09-28 01:01:59 +00:00
Romain Jobredeaux
f1a3d7a303 Merge changes from topic "bazel_framework_res" into main am: 641b62b205 am: b0e61183f3
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2720593

Change-Id: I982a8d244d21dba4d09d2e568f03fecf1ac1d508
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-27 22:53:48 +00:00
Romain Jobredeaux
641b62b205 Merge changes from topic "bazel_framework_res" into main
* changes:
  bp2build support for framework-res
  Keep rules_testing BUILD files
2023-09-27 20:52:50 +00:00
Jihoon Kang
daa3a1a2db Merge changes from topic "expose_flagged_api" into main am: af26c102b8 am: ff593197d9
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2755310

Change-Id: I151c659f99d71568c7e75ea4f679aa9d60abad56
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-27 19:47:53 +00:00
Zi Wang
1066479258 Always drop deps from android_library with no srcs
android_library does not accept deps when there are no srcs because
there is no compilation happening. The libs of android_library module
are unnecessary as deps on the android_library since they aren't
being propagated to any dependencies.
So we can drop deps here.

Test: the updated test case and CI

Bug: 302290600

Change-Id: Ib43a1c273a5f3b3e0aa6f29f4e8569ad3487e451
2023-09-27 12:36:36 -07:00
Jihoon Kang
d91a8e806a Add flagged api hide conditional to droidstubs
APIs annotated with @FlaggedApi should not be included in the artifact
when building sdk target products in the "next" release configuration.

This change adds such logic by passing additional flag to metalava in
droidstubs.

The flag does not need to be passed to metalava invocation done in
java_api_library, as java_api_library generates stubs using api
signature files (i.e. *-current.txt files), and they will not contain
apis marked @FlaggedApi. The metalava invocation in droidstubs is
responsible for removing such apis.

Test: go test ./java && m TARGET_PRODUCT=sdk TESTING_TARGET_RELEASE_NEXT=true nothing and inspect ninja command for generating stubs and verify the flag is included
Bug: 299570421
Change-Id: Ia4b699b6e3ff6324f050eecc9ff5b622fdc04621
2023-09-26 22:46:05 +00:00
Romain Jobredeaux
2682639f03 Merge "Do not convert android_library_import with no aars." into main am: 832e131725 am: 51cab22f4e
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2760791

Change-Id: Ic0c114edd4d65f57a7c6038d865db81e67ce352e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-26 21:39:31 +00:00
Romain Jobredeaux
832e131725 Merge "Do not convert android_library_import with no aars." into main 2023-09-26 20:08:04 +00:00
Colin Cross
e693d617c2 Merge "Shard srcjars when sharding javac compilation" into main am: b983ceac33 am: 9a21f40742
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2762551

Change-Id: Iab092236065583a885abddac58505e0ff79a66ef
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-26 19:20:40 +00:00
Romain Jobredeaux
9c06ef353b bp2build support for framework-res
Change-Id: I5b32a702e02b5f1ec08d5608d766a8a0c08d845c
Bug: 276928228
Bug: 297356405
2023-09-26 15:06:50 -04:00
Colin Cross
b983ceac33 Merge "Shard srcjars when sharding javac compilation" into main 2023-09-26 18:01:49 +00:00
Treehugger Robot
36b815461a Merge "Improve optimize bp2build conditional." into main am: 8559872623 am: 6c49c4a1d5
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2762806

Change-Id: Ib480e7bf5525173b01ae47846cd721e5c992fd3c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-26 17:00:16 +00:00
Jingwen Chen
256c389608 Improve optimize bp2build conditional.
Follow up from https://android-review.git.corp.google.com/c/platform/build/soong/+/2757255/comment/fdcf5795_943a04d5/

Test: soong unit tests
Change-Id: I63334bfd19469060673e9a9a239050590934b089
2023-09-26 05:56:54 +00:00
Colin Cross
a052ddbb7e Shard srcjars when sharding javac compilation
java_library rules with javac_shard_size set split the sources into
shards to invoke javac multiple times, but were using a single javac
invocation for all srcjars.  For fraemwork-minus-apex, this srcjar
shard was the long pole at 15.7 seconds, containing 266 srcjars with
1542 java files with a total of 614593 lines.

Use a rough approximation of 5 sources per srcjar to determine the
number of shards to split the srcjars into based on javac_shard_size.
This results in splitting the srcjars for frameworks-minus-apex into
8 shards, with the longest taking 10.5 seconds to compile.

The longest shard contains most of the aidl srcjars, which have been
generated by sharded groups of 50 aidl files and have a much higher
average number of sources per srcjar (a mean and median of 27).  A
future improvement could be to shard those separately assuming a
higher number of sources per srcjar.

Bug: 302033097
Test: USE_RBE=false m frameworks-minus-apex
Change-Id: I85e740c7fcf5651cf18c0cdc90ab8c6ee39cb47b
2023-09-25 21:46:58 -07:00
Jihoon Kang
1eaf6404ab Merge changes from topics "remove_api_files", "remove_naming_convention" into main am: 534e2e504d am: 426d016353
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2758365

Change-Id: I2e80357f673486b0160fa0569e0990d1a726b3d1
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-26 00:36:29 +00:00
Jihoon Kang
534e2e504d Merge changes from topics "remove_api_files", "remove_naming_convention" into main
* changes:
  Remove naming conventioned based file sorting in java_api_library
  Remove api_files property from java_api_library
2023-09-25 22:31:53 +00:00
Treehugger Robot
b70f9d862d Merge "Enable/disable optimize for android_test and android_test_helper_app by default." into main am: b95a8b33be am: f9827be517
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2757255

Change-Id: I19a05327569f6ef734c4993d7e084baf10694f28
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-25 19:10:13 +00:00
Jingwen Chen
65229207d1 Enable/disable optimize for android_test and android_test_helper_app by default.
Follow up to https://android-review.git.corp.google.com/c/platform/build/bazel/+/2727853/comment/f2c5802e_245fd302/

Test: New unit tests, presubmits
Test: `atest-dev HelloWorldTests --roboleaf-mode=dev`

Change-Id: I88efcf72fbcb717d05e71ba50ba7802c3bece816
2023-09-25 15:27:33 +00:00
Zi Wang
894e5ee4c9 Merge "Pass java_library libs and static_libs to java_*_proto_library" into main am: 7c5b6d5273 am: ada4983493
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2759538

Change-Id: I5135ef9ada4e3d6a4bfe104c90b6ffd3d7fe5d02
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-23 05:57:39 +00:00
Zi Wang
7c5b6d5273 Merge "Pass java_library libs and static_libs to java_*_proto_library" into main 2023-09-23 03:45:48 +00:00
Treehugger Robot
be9f6850a7 Merge "Switch bp2build mutator to bottom up" into main am: 11b20b2993 am: febe41d738
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2760865

Change-Id: I5338f3d74461eaa752ef63eb3e422ae9f4d49771
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-23 02:20:15 +00:00
Romain Jobredeaux
afc5d27ab0 Do not convert android_library_import with no aars.
Bug: 301007952
Change-Id: Ia32d47eeb1a888ea2555d5ca08f56f191c040bc7
2023-09-22 15:52:59 -04:00
Chris Parsons
6666d0f6b1 Switch bp2build mutator to bottom up
This should be no-op, as the underlying mutator has not changed yet.

Some other refactoring is required and done in this CL:

- Delete some old, dead ApiBp2build code
- Fix casting to TopDownMutator when it's not necessary

This change is required to prepare for allowlist v2 work, as only
BottomUp mutators can AddDependency.

Bug: 285631638
Test: m nothing
Test: presubmits
Change-Id: I5212a5f5634cc13056195783e6df37ff8eb000da
2023-09-22 19:19:22 +00:00
Zi Wang
4dbd0e8688 Pass java_library libs and static_libs to java_*_proto_library
If a java_library module has proto srcs, a java_*_proto_library target
will be created for it. Proto sources are generated and then compiled
by a java_library target. We need to pass the libs and static_libs of
the java_library module to this java_library target so that
the compile-time classpath is correct.

Test: updated unit tests and CI

Bug: 301469542
Change-Id: I05b2efce6fda2223e85728b3c4c7b1815d04c3dd
2023-09-22 11:20:06 -07:00
Jihoon Kang
a96a7b1e13 Remove naming conventioned based file sorting in java_api_library
With api_files property being removed from java_api_library, all api
files are passed to java_api_library via java_api_contribution, which
provide api_surface information. Instead of relying on the naming
convention of the api files, java_api_library can utilize this
information to sort the api files from narrower api scope to the wider
api scope.

Test: m --build-from-text-stub
Bug: 295429988
Change-Id: Idd832778833c072c6b7e9d1f775533e5f4e2af00
2023-09-22 16:55:43 +00:00
Jihoon Kang
0fbb6e2502 Merge "RESTRICT AUTOMERGE Move java_api_library modules to f/b/api/StubLibraries.bp" into udc-dev-plus-aosp 2023-09-22 16:38:24 +00:00
Alix Espino
540f688f3f Merge "Mark android_* modules with java_resources as unconvertible" into main am: c62b27a7ea am: ea88c79b2e
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2752994

Change-Id: Iad5a2b58ed2c08e7d35ade80ec23d1552e06e937
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-22 15:30:57 +00:00
Alix Espino
c62b27a7ea Merge "Mark android_* modules with java_resources as unconvertible" into main 2023-09-22 14:56:18 +00:00
Jihoon Kang
818f3d9485 RESTRICT AUTOMERGE Move java_api_library modules to f/b/api/StubLibraries.bp
This change was already submitted with
https://android-review.git.corp.google.com/q/topic:%22revert-2713677-revert-2655262-move_java_api_libraries-JTESUMBERD-FPSEKJYXCE%22
but was never propagated to downstream.

Ignore-AOSP-First: change already merged in aosp

Test: m nothing --build-from-text-stub
Change-Id: I1f2f33e1a5df6f7b8f8215ab41b41228fa873ea1
2023-09-22 00:29:17 +00:00
Romain Jobredeaux
4ed82da99d Merge "Use raw {min,target}_sdk_version properties in android_app converter" into main am: 2c11851598 am: 09ac546858
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2752828

Change-Id: I65a7058271eee0e268c150b3ff190aa7bc71f29b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-21 22:21:20 +00:00
Jihoon Kang
6be0f00671 Remove api_files property from java_api_library
java_api_contribution provides api_surface information, but files
directly passed to java_api_library do not possess such information.
Currently, the api surface is assumed via naming convention for api
files passed via api_files property, but this is fragile.

This change removes the api_files property from java_api_library and
enforce all api files to be passed via java_api_contribution

Test: m nothing --build-from-text-stub
Bug: 300964421
Change-Id: If01d9ed978fe469d4ee0d685582a51629ebecc56
2023-09-21 21:02:39 +00:00
Romain Jobredeaux
2c11851598 Merge "Use raw {min,target}_sdk_version properties in android_app converter" into main 2023-09-21 20:58:16 +00:00
Treehugger Robot
7204781c24 Merge "Revert^2 "bp2build converter for android_test_helper_app."" into main am: a56002a473 am: f7566167dd
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2759108

Change-Id: I718a02e4d41559347cbf6ec6c7032a6fd691503c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-21 18:46:13 +00:00
Jingwen Chen
7f2170b57f Merge "Revert "bp2build converter for android_test_helper_app."" into main am: 38b7be9d29 am: 050f0fa35b
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2759106

Change-Id: I0adb36e537dd590d827669b76fafce2a92eef479
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-21 16:04:58 +00:00
Jingwen Chen
47eb84435b Merge "bp2build converter for android_test_helper_app." into main am: 72e22018c3 am: 915ddd751b
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2757525

Change-Id: I592afba5251e1d949af14b2758785be967a41d12
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-21 16:04:34 +00:00
Romain Jobredeaux
5610f9ceb6 Merge "Bp2build support for JNI deps of android_app." into main am: 1c4048e08d am: 4bc34aa84e
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2622674

Change-Id: I7fbd8985c92404e17bd5b58ec2c173f869585967
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-21 16:04:20 +00:00