Commit Graph

3897 Commits

Author SHA1 Message Date
Lukács T. Berki
8526bc95ef Merge "Rename BuildDir and NinjaBuildDir." am: 5602d33025
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1810356

Change-Id: I6af3316fb122af7a05b71de7f9cd371746bb5f21
2021-08-27 13:54:13 +00:00
Lukacs T. Berki
9f6c24a887 Rename BuildDir and NinjaBuildDir.
These are just out/ and out/soong/ and the old names were quite
confusing.

Test: Presubmits.
Merged-In: I999ca62162062f27e449f83ffb00fa580d4065b8
Merged-In: I2fcd80a9e376a6842a06aa104a9f6f5c5e16f8c7
Change-Id: Ib481d2aac40df8da1b74174dc8ec576c1cb48be0
2021-08-27 10:08:49 +02:00
Treehugger Robot
a3037d1239 Merge "Keep existing BUILD files for bazel_common_rules" am: 9da0a435ef
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1807117

Change-Id: Ief2269eaa089bc5aa9c4c8185c99b3ae452fed35
2021-08-26 16:59:41 +00:00
Treehugger Robot
9da0a435ef Merge "Keep existing BUILD files for bazel_common_rules" 2021-08-26 16:41:30 +00:00
Colin Cross
8dae8cbcc1 Merge "Support musl builds in Make" am: b37a92ccc8
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1797129

Change-Id: I771db86c62207bde3e4ba60569e4d3ebbfe32358
2021-08-26 01:27:24 +00:00
Colin Cross
b37a92ccc8 Merge "Support musl builds in Make" 2021-08-26 01:14:47 +00:00
Paul Duffin
826ac4d353 Remove unused key field from SdkMemberTypesRegistry
Bug: 195754365
Test: m nothing
Change-Id: I48ba50f009d53024ecb89d8d59309d49989c39fb
2021-08-25 15:08:10 +01:00
Treehugger Robot
8d3406dfd7 Merge "Suggest using add_soong_config_ macros instead of direct variable assignments" am: 0fea970b41
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1807738

Change-Id: I769f9a0feafbaa067e2c46f1efc16eff71fe974b
2021-08-24 23:09:44 +00:00
Sasha Smundak
18fd099982 Suggest using add_soong_config_ macros instead of direct variable assignments
Bug: 190051051
Test: treehugger
Change-Id: Ib77d8af8f926412f6337173927cee6bb1deda2bb
2021-08-24 14:06:20 -07:00
satayev
dbd6abe28d Merge "Make sure that classpath fragment contents appear in make vars." am: 28e5eda261
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1740313

Change-Id: I216856a16603567c623114d3b5b42506e9dc89b2
2021-08-24 13:40:05 +00:00
satayev
28e5eda261 Merge "Make sure that classpath fragment contents appear in make vars." 2021-08-24 13:29:58 +00:00
Liz Kammer
383f7cb2b1 Merge "Update HostAndDevice* documentation" am: f32f2d6b6d
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1806337

Change-Id: I7de835f65f774040d04af4f94b3f652391726a18
2021-08-24 12:45:51 +00:00
Jingwen Chen
5e49b82e59 Keep existing BUILD files for bazel_common_rules
Test: presubmits

Bug: 197589841
Change-Id: I6a528fc8e66ce6322e87db975f7656571407c7a1
2021-08-24 05:14:22 +00:00
Liz Kammer
8631cc7327 Update HostAndDevice* documentation
Clarify that HostAndDeviceSupported builds _only_ Device by default,
and add information on how to built host variations.
For HostAndDeviceDefault, clarify how to disable different variants.

Change-Id: I20e30175ddf79038117f1df166d9b994237b27f5
2021-08-23 21:12:08 +00:00
Colin Cross
c74ea4b77b Support musl builds in Make
Rewrite linux_musl to linux when exporting to Make.

Bug: 190084016
Test: m USE_HOST_MUSL=true adb
Change-Id: I48eed5bd7380a07c5106a9b2bd96899fb58f7a7f
2021-08-18 22:02:54 +00:00
Liz Kammer
680bd2dd0a Merge "Don't create a new module for bp2build conversion." am: 380dbb9327
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1792714

Change-Id: Ie7d6d5908d06f14121691f7aa0f57c7c7303e67a
2021-08-18 19:44:01 +00:00
Liz Kammer
380dbb9327 Merge "Don't create a new module for bp2build conversion." 2021-08-18 19:28:20 +00:00
Liz Kammer
ba85722ffa Merge "Handle arch-specific/not properties the same." am: 5641096e7f
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1792708

Change-Id: Id7960374816f1c7198e3c4b1dbb919ad66a7ff45
2021-08-18 16:16:29 +00:00
Liz Kammer
2ada09a546 Don't create a new module for bp2build conversion.
A performance improvement for bp2build as Blueprint/Soong no longer have
the overhead of additional modules. The creation of these modules
results in:
* traversal of additional modules for each subsequent mutator
* synchronization over a go channel to collect newly created modules:
https://cs.android.com/android/platform/superproject/+/master:build/blueprint/context.go;l=2594,2600;drc=1602226f23181b8c3fbfcaf3358f0297e839d7d3

We avoid both of these by storing the information directly in the
underlying module.

Also as a fringe benefit, removes some necessary boilerplate for
conversion.

For benchmarks, reduces runtime ~1% for 1% converted, ~24% for 100%
converted. See more: go/benchmarks-for-https:-r.android.com-1792714

Test: ran benchmarks/tests in bp2build
Test: build/bazel/ci/bp2build.sh
Change-Id: Ie9273b8cbab5bc6edac1728067ce184382feb211
2021-08-17 15:57:09 -04:00
Xin Li
8ded89b1bf Merge "Merge sc-dev-plus-aosp-without-vendor@7634622" into stage-aosp-master 2021-08-17 18:14:22 +00:00
Liz Kammer
135bf55281 Handle arch-specific/not properties the same.
Refactor arch-handling code to return a "no-config" axis which allows
handling non-arch configed properties the same way as arch-configed
properties.

Test: build/bazel/ci/bp2build.sh
Change-Id: I485b35fd91c28501fe2055234dc9b278488bf4b5
2021-08-17 13:06:54 -04:00
Lukacs T. Berki
f7e36d80ff Remove Srcdir() from BootstrapConfig.
It was always ".".

Test: Presubmits.
Change-Id: I5381002b3f2986122f1b335a88119cead0a86d75
2021-08-16 17:05:09 +02:00
Lukacs T. Berki
f9008075d9 Define command line args in soong_build .
They used to be defined in Blueprint but since it doesn't have a
separate existence anymore, we can consolidate all command line
arguments here.

Note that Blueprint is called directly from soong_ui, but that happens
by a simple Go function call and not by invoking a separate binary, so
command line arguments are not needed there.

Test: Presubmits.
Change-Id: Ifa2c101ddbe424b76fc5a508d3d41c329e7353ca
2021-08-16 15:29:02 +02:00
satayev
d34eb0c4a6 Make sure that classpath fragment contents appear in make vars.
The source of truth for what jars are in BOOTCLASSPATH and
SYSTEMSERVERCLASSPATH is make; adding a classpath fragment in soong
with a new jar in the contents without having it declared in make
is wrong (excluding test apexes).

Bug: 191369843
Test: m nothing
Change-Id: Ifd313776ee7ad206031244534ed3870126e4f835
2021-08-16 12:00:25 +01:00
Xin Li
3eaa6bcecf Merge sc-dev-plus-aosp-without-vendor@7634622
Merged-In: I10ff6a5df76852f0a22fe3ac22df764528f07423
Change-Id: I71f2397f425a46d346e49ac422d256d7e049c7a2
2021-08-14 06:30:56 +00:00
Jingwen Chen
76738b1c45 Merge "Revert "Exempt prebuilts/jdk and build/bazel/examples/java BUILD..."" 2021-08-13 05:18:56 +00:00
Treehugger Robot
6c00d24a1f Merge "Exempt subfolders of packages/apps/Music from bp2build BUILD file overriding." 2021-08-13 03:04:25 +00:00
Alex Humesky
e9b3738bad Revert "Exempt prebuilts/jdk and build/bazel/examples/java BUILD..."
Revert submission 1789607-java_android_ci

Reason for revert: doesn't work with lunch
Reverted Changes:
I6f82e4984:Exempt prebuilts/jdk and build/bazel/examples/java...
I75a61c24c:Define a java_runtime and toolchain bazel targets ...
I0f107d334:Add a java binary, a java library, and an android ...

Change-Id: I9869424dd44c03b33ac02ab38e4a3e0deee9eb07
2021-08-13 02:06:23 +00:00
Treehugger Robot
1e6760fc71 Merge "Update documentation for VisitDirectDeps" 2021-08-12 23:46:36 +00:00
Alex Márquez Pérez Muñíz Díaz Púras Thaureaux
a05a255eac Add infrastructure to support PythonBinary
Add a new request type with its own StarLark function
Hook it up via GetPythonBinary
Add to MockBazelContext a LabelToPythonBinary
Add a test for the new request type

Test: request_type_test.go:TestGetPythonBinaryParseResults
Change-Id: I05f6506adfbbdac8b3f40475509ed02ab8e844e5
2021-08-12 18:48:15 +00:00
Yuntao Xu
fc30cfc7ae Merge "Add Platform_sdk_version_or_codename variable" 2021-08-12 16:09:32 +00:00
Romain Jobredeaux
f1b0ac8d3a Exempt subfolders of packages/apps/Music from bp2build BUILD file overriding.
Change-Id: I30a0d4635a4d25465c1791dcfb78c777ad45dede
Test: b build packages/apps/Music
2021-08-12 14:39:25 +00:00
Alex Márquez Pérez Muñíz Díaz Púras Thaureaux
3079d96120 Merge "Lift BazelHandler interface into android/" am: ccb6a01324 am: 4e088148d3
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1793169

Change-Id: I4ed98cbd30139e5c2d91164c3447ef295970ae17
2021-08-11 21:36:03 +00:00
Yuntao Xu
402e9b08e1 Add Platform_sdk_version_or_codename variable
1. Added a new product variable Platform_sdk_version_or_codename;
2. This variable is used to support the logic in the Android.bp file
when either the Platform_sdk_version or the Platform_sdk_codename is
used.

Bug: 195986342
Test: m CtsThemeHostTestCases (the module where the product variable is
used)
Test: TreeHugger

Change-Id: I6b952ce47fd4adc280aa3c7ef4185487558af9bc
2021-08-11 12:33:37 -07:00
Alex Márquez Pérez Muñíz Díaz Púras Thaureaux
0d99045b69 Lift BazelHandler interface into android/
Because it's commonly useful and not cc/ specific
Also export GenerateBazelBuildActions and update uses

Test: Existing tests pass
Change-Id: Ibc6858bb1129afba181a7686dda432defe33b00d
2021-08-11 18:19:40 +00:00
Treehugger Robot
f2d32c8de5 Merge "Allow //external/bazel-skylib to use existing BUILD files" am: 00caefe11e am: 3cdfd5c77e
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1791908

Change-Id: I43085bc049c0d956bc5d474c4046098bd872c65c
2021-08-11 15:29:07 +00:00
Jingwen Chen
916322541a Allow //external/bazel-skylib to use existing BUILD files
Bug: 190605804
Test: bp2build-incremental
Change-Id: Ida765465532c0e98d035eef4c703d13fbf554538
2021-08-11 12:19:17 +00:00
Christopher Parsons
69dcdd1024 Merge "Support rtti in bp2build" am: 9f7c388337 am: 13923bc3d6
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1792107

Change-Id: I8747084d228958c31d532b360a44077845c67495
2021-08-10 21:09:06 +00:00
Christopher Parsons
9f7c388337 Merge "Support rtti in bp2build" 2021-08-10 20:05:44 +00:00
Romain Jobredeaux
f54a01bdd3 Merge "Exempt prebuilts/jdk and build/bazel/examples/java BUILD files from bp2build overwriting" am: d9eb0f0aa6 am: c1493b5af8
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1789607

Change-Id: I275f5e05fb4c50a711044ff11a3b9f94bf45f73a
2021-08-10 16:45:39 +00:00
Romain Jobredeaux
d9eb0f0aa6 Merge "Exempt prebuilts/jdk and build/bazel/examples/java BUILD files from bp2build overwriting" 2021-08-10 16:29:35 +00:00
Chris Parsons
2c7883941e Support rtti in bp2build
Rtti was already handled by bazel macros, so this change simply
propagates the rtti bit to these macros.

Test: Run bp2build, build //external/libcxxabi:all
Change-Id: I63296db2db868202874c8bd0b1de6310f7bb85c7
2021-08-10 11:58:07 -04:00
Christopher Parsons
6787777e06 Merge "bp2build: handle system_shared_libs" am: 67d6ccecfc am: 430c7d2c53
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1783210

Change-Id: I7406a36873b6dc626cf89ceab6aa15d4aa05368c
2021-08-09 19:41:50 +00:00
Christopher Parsons
67d6ccecfc Merge "bp2build: handle system_shared_libs" 2021-08-09 19:11:00 +00:00
Chris Parsons
51f8c39261 bp2build: handle system_shared_libs
- If no system_shared_libs is specified, bp2build writes no attribute
value. In this case, the bazel library macros determine the correct
default behavior.
- If any system_shared_libs is specified for any variant, then bp2build
writes the value verbatim. This includes if an empty list is specified,
as this should override defaulting behavior.

Note this defaulting behavior is incomplete and will be incorrect in
corner cases. For example, if, in an Android.bp, system_shared_libs is
specified for os.linux_bionic but not for os.android, then the bazel
default for os.android will be incorrect. However, there are no current
modules in AOSP which fit this case.

As a related fix, supports static struct for cc_library_static.

Also, removes some elements from the bp2build denylist.

Test: mixed_droid CI
Change-Id: Iee5feeaaf05e8e7209c7a90c913173832ad7bf91
2021-08-09 11:41:09 -04:00
Romain Jobredeaux
748652e350 Exempt prebuilts/jdk and build/bazel/examples/java BUILD files from bp2build overwriting
Test: b build prebuilts/jdk/...
Test: b build build/bazel/examples/java/...
Change-Id: I6f82e4984ab2d8ec4c21edbf2dcba5f37b515fc9
Bug: 195786195
2021-08-06 22:09:36 +00:00
Spandan Das
da7f362a32 Update documentation for VisitDirectDeps
Calling this function for dependencies that are not android.Module
results in a hard error rather than a soft skip. Update the doc to
reflect this

Bug: 195369546
Test: TH
Change-Id: I18a0938c6536cf20f239cf98c601722aaecd51e6
2021-08-04 20:50:04 +00:00
Christian Wailes
8e11a903a9 Merge "Conditionally apply rustdoc flags to third party crates" am: 99bc67a548 am: d793c89474
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1783747

Change-Id: Id56a4a5dd2d8259d6a0d666e403238759885d570
2021-08-03 20:18:47 +00:00
Christian Wailes
99bc67a548 Merge "Conditionally apply rustdoc flags to third party crates" 2021-08-03 19:39:17 +00:00
Romain Jobredeaux
3f9143d654 Merge "Add prebuilts/r8 to the bp2build BUILD file overwriting exception list." am: 596a78949c am: 9a4c0e8b2d
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1784648

Change-Id: Iba921d63aab7fd476dab22e4df0a072cefae6c26
2021-08-03 16:44:25 +00:00