Commit graph

1979 commits

Author SHA1 Message Date
Jingwen Chen
cdb1e3e267 Expose build-globs.ninja write function to android/soong. am: 8979d4c54c am: a8b7ca3812 am: 8d49ffc799
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1794227

Change-Id: I364aca5bb983252635271d50a4c2863ba699a769
2021-08-12 14:58:15 +00:00
Jingwen Chen
8d49ffc799 Expose build-globs.ninja write function to android/soong. am: 8979d4c54c am: a8b7ca3812
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1794227

Change-Id: Ib1d1af6ad539c64fe30495f19a54ca40fdcecb43
2021-08-12 14:43:26 +00:00
Jingwen Chen
a8b7ca3812 Expose build-globs.ninja write function to android/soong. am: 8979d4c54c
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1794227

Change-Id: I49abb29bd1f36146b414be3add8026269531ccb6
2021-08-12 14:24:23 +00:00
Jingwen Chen
8979d4c54c Expose build-globs.ninja write function to android/soong.
This enables bp2build to write its own build-globs.ninja file.

Test: soong integration tests
Fixes: 193650250
Change-Id: Icb35f3cf3c30929dab1b2c2e9b244321be30f967
2021-08-12 10:13:44 +00:00
Chris Parsons
74137dfbbb Add function to retrieve module by name. am: 030150d8f9 am: 2322a800cc
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1772793

Change-Id: Ibc01f9d5af34f9caeac114b98f7dfb2b5770f222
2021-07-23 15:22:52 +00:00
Chris Parsons
2322a800cc Add function to retrieve module by name. am: 030150d8f9
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1772793

Change-Id: I0369f0189cc8aed26db141a9d34bad554119a17f
2021-07-23 15:05:24 +00:00
Chris Parsons
030150d8f9 Add function to retrieve module by name.
This function should only be used in corner-cases where it is not
possible to retrieve the module by traversing a dependency graph; there
are no guarantees about which variant is returned, and the function will
eagerly panic if something is amiss (the name doesn't belong to a module
but to an alias instead).

This function is particularly useful for bp2build, which does not use
real variants when evaluating the blueprint graph.

Test: With soong change, USE_BAZEL_ANALYSIS=1 m libc
Change-Id: I72b8335b642ed2d05e0a38e448cd380acc8d65b0
2021-07-21 16:16:40 -04:00
Colin Cross
641ccfa1d3 Support AppendMatchingProperties on an embedded anonymous struct am: 1c3530ab58 am: 8d61e6369d
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1748912

Change-Id: I3f63a800f3426c44e561986dd660db907e54490e
2021-07-01 23:52:19 +00:00
Colin Cross
8d61e6369d Support AppendMatchingProperties on an embedded anonymous struct am: 1c3530ab58
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1748912

Change-Id: I6e69a4ca890b230a310b1e336fcd2743e9b753f0
2021-07-01 23:38:40 +00:00
Colin Cross
1c3530ab58 Support AppendMatchingProperties on an embedded anonymous struct
Recurse into embedded anonymous structs and the BlueprintEmbed
workaround structs when looking for properties in
extendPropertiesRecursive.

Test: proptools/extend_test.go
Change-Id: I975651a64e5173747403629a09263562761f1495
2021-06-28 17:08:52 -07:00
Lukacs T. Berki
d83120ca1c Module/providers can now emit extra JSON data. am: 1602226f23 am: 0c19d0fec8
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1748035

Change-Id: I1c2d3a8f051be9fe6dd0b69d20997cefa73b9dfe
2021-06-25 11:26:32 +00:00
Lukacs T. Berki
0c19d0fec8 Module/providers can now emit extra JSON data. am: 1602226f23
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1748035

Change-Id: Iba6d7b2362f0fe2505e0005332e5357e79af19c7
2021-06-25 11:13:59 +00:00
Lukacs T. Berki
1602226f23 Module/providers can now emit extra JSON data.
Test: Presubmits.
Change-Id: I448e85f9144b9b35e7822ab7629329bae7a2fb8e
2021-06-25 10:31:10 +02:00
Spandan Das
ff59682013 Delete creation of empty glob file am: 3a495910ad am: 78f4755aaa
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1736533

Change-Id: I4e56ca0611817fca2723821ed3b7f34fe11a8bbf
2021-06-15 20:06:53 +00:00
Spandan Das
78f4755aaa Delete creation of empty glob file am: 3a495910ad
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1736533

Change-Id: I9f3365344ef37afa9f389b604c4a68a2d7f8c995
2021-06-15 19:46:19 +00:00
Spandan Das
3a495910ad Delete creation of empty glob file
An empty glob file would be created inside the source tree if
soong_build is invoked directly (instead of via soong_ui). This logic is
now moved to soong/ui/build to prevent this behavior

Bug: 187194795
Test: Ran the following command locally for the target
art-target-arm:git_master-art
```
. ./build/envsetup.sh && lunch armv8-eng &&
art/tools/buildbot-build.sh --target
```
Before change glob file is created in $TOP/.bootstrap
After change glob file is created in $TOP/out/soong/.bootstrap

Change-Id: I6745996c940d790d1f1f387ca08aafc6a8a669df
2021-06-15 17:57:03 +00:00
Treehugger Robot
6845418d18 Merge "Add support for maps as properties" am: 16caaa4817 am: 2b3a6a50d5
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1715913

Change-Id: I2e0f1cfbc1d30c79f2c9c1c497d00bfd61d36a13
2021-05-27 20:34:47 +00:00
Treehugger Robot
2b3a6a50d5 Merge "Add support for maps as properties" am: 16caaa4817
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1715913

Change-Id: I134c53bd884308243b4c0c2d026736bec92288c8
2021-05-27 20:06:35 +00:00
Treehugger Robot
16caaa4817 Merge "Add support for maps as properties" 2021-05-27 19:32:37 +00:00
Colin Cross
c36186601c Add a test for AddNinjaFileDeps am: 7a2a352825 am: bec4769941
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1715723

Change-Id: Iadeb6705befa4dba70a714f958873e6fcd4cba46
2021-05-26 17:43:23 +00:00
Colin Cross
bec4769941 Add a test for AddNinjaFileDeps am: 7a2a352825
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1715723

Change-Id: Ieb32a2a0a399fc3fe7f354cf0bd20621ea3d5342
2021-05-26 17:21:44 +00:00
Liz Kammer
c1ccfee2bd Add support for maps as properties
This support enables specifying properties of the type "map" within a
Soong module, but explicitly does not allow them to be used within a bp
file.

This means that rather than specifying each arch/os/target within a
struct to support arch-variant properties/attributes, we can use a map.
This allows us to simplify the implementation of LabelAttribute,
StringListAttribute, and LabelListAttribute as the number of select
statements supported becoming large and hard results in a lot of
duplication.

Test: go test blueprint tests
Test: m nothing
Change-Id: I88cc5952a6bdb60a2344fa0737216f016086cea5
2021-05-26 09:54:22 -04:00
Colin Cross
7a2a352825 Add a test for AddNinjaFileDeps
Add a test for all the contexts that call AddNinjaFileDeps to ensure
they are propagated back to the main method.

Bug: 188547846
Test: TestAddNinjaFileDeps
Change-Id: Iaab32b8237eecee07fb930f2f9fe337c7d4e047c
2021-05-24 17:20:55 -07:00
Dan Willemsen
f060e1f905 Add blueprint_go_packages phony to build all go packages am: 0f0e304d08 am: 5832a98338
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1713431

Change-Id: I092c67fdcd674b0a9ee2239be692f0bfef0cd587
2021-05-24 21:54:48 +00:00
Dan Willemsen
5832a98338 Add blueprint_go_packages phony to build all go packages am: 0f0e304d08
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1713431

Change-Id: I6fa5e01c5e68cd933eb8abe29d808ff4941bcf0d
2021-05-24 21:38:44 +00:00
Dan Willemsen
0f0e304d08 Add blueprint_go_packages phony to build all go packages
We have `blueprint_tools` that can build all Go binaries (and run their
associates tests). But if a package is not (yet) used, it won't be
included there. This makes testing the build of new Go packages
difficult.

Test: m blueprint_go_packages
Change-Id: I7a67cf2593fedcf499d40d82c266d3b0d7ebbef2
2021-05-24 11:36:37 -07:00
Neil Fuller
0bbd97040f [automerger skipped] Merge "Fix AddNinjaFileDeps in a LoadHook" into sc-dev am: a90cba820b -s ours
am skip reason: Merged-In If8176474b5094ee40d07df12f5da79a906ce7290 with SHA-1 13b5befc5c is already in history

Original change: https://googleplex-android-review.googlesource.com/c/platform/build/blueprint/+/14683378

Change-Id: Ia144bf5dbd64c70bb8655f02bd470dbbcb16d4c7
2021-05-24 11:03:16 +00:00
Neil Fuller
a90cba820b Merge "Fix AddNinjaFileDeps in a LoadHook" into sc-dev 2021-05-24 10:46:45 +00:00
Colin Cross
8266ace31a Fix AddNinjaFileDeps in a LoadHook
Propagate the ninja file deps from a LoadHook to the build.ninja.d
file.

Bug: 188547846
Test: next CL
Merged-In: If8176474b5094ee40d07df12f5da79a906ce7290
Change-Id: If8176474b5094ee40d07df12f5da79a906ce7290
(cherry picked from commit 13b5befc5c)
2021-05-24 10:02:14 +01:00
Martin Stjernholm
9ae43cea92 [automerger skipped] Add OtherModuleFarDependencyVariantExists. am: 778471d6c6 -s ours
am skip reason: Merged-In I5517bfd6be5e2c58432c2902dfd1ca7668c76598 with SHA-1 53bf14cda7 is already in history

Original change: https://googleplex-android-review.googlesource.com/c/platform/build/blueprint/+/14672037

Change-Id: I259719b1f9b9703495383dcd0bb9d9fd80a556a6
2021-05-22 13:12:05 +00:00
Treehugger Robot
9bf421d445 Merge "Fix AddNinjaFileDeps in a LoadHook" am: 69e2bbe2df am: 2548a93c36
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1712169

Change-Id: I35ba55e1d9468e4da8356a70e25d007147f00f2d
2021-05-21 23:33:27 +00:00
Treehugger Robot
2548a93c36 Merge "Fix AddNinjaFileDeps in a LoadHook" am: 69e2bbe2df
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1712169

Change-Id: Ic8a91706868263a18bee9b51af172a13884ddce4
2021-05-21 23:18:15 +00:00
Treehugger Robot
69e2bbe2df Merge "Fix AddNinjaFileDeps in a LoadHook" 2021-05-21 23:02:18 +00:00
Martin Stjernholm
778471d6c6 Add OtherModuleFarDependencyVariantExists.
This is the logical extension corresponding to
AddFarVariationDependencies in the same way
OtherModuleDependencyVariantExists corresponds to
AddVariationDependencies.

Test: m nothing
Bug: 188398129
Change-Id: I5517bfd6be5e2c58432c2902dfd1ca7668c76598
Merged-In: I5517bfd6be5e2c58432c2902dfd1ca7668c76598
(cherry picked from commit 53bf14cda7)
2021-05-21 11:41:23 +09:00
Bill Peckham
0bc45d924c Merge "Add OtherModuleFarDependencyVariantExists." am: 1f716db99f am: 4c3f2a4a4b
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1697063

Change-Id: Ia8b9b0cc46c0041250905b4c76403e411351c914
2021-05-21 02:23:45 +00:00
Bill Peckham
4c3f2a4a4b Merge "Add OtherModuleFarDependencyVariantExists." am: 1f716db99f
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1697063

Change-Id: I0ee202a7a8003d0226c263cb999d973121e55dc9
2021-05-21 02:01:14 +00:00
Bill Peckham
1f716db99f Merge "Add OtherModuleFarDependencyVariantExists." 2021-05-21 01:37:21 +00:00
Martin Stjernholm
53bf14cda7 Add OtherModuleFarDependencyVariantExists.
This is the logical extension corresponding to
AddFarVariationDependencies in the same way
OtherModuleDependencyVariantExists corresponds to
AddVariationDependencies.

Test: m nothing
Bug: 188398129
Change-Id: I5517bfd6be5e2c58432c2902dfd1ca7668c76598
2021-05-20 16:30:02 +00:00
Colin Cross
13b5befc5c Fix AddNinjaFileDeps in a LoadHook
Propagate the ninja file deps from a LoadHook to the build.ninja.d
file.

Bug: 188547846
Test: next CL
Change-Id: If8176474b5094ee40d07df12f5da79a906ce7290
2021-05-19 10:30:58 -07:00
Colin Cross
378f541aba Merge "Support go 1.16 in gotestmain" am: d7d1e39aaf am: 419285d831
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1696685

Change-Id: Ib236b1933dd6a5a4471999d36535b7092a2532e6
2021-05-14 22:48:18 +00:00
Colin Cross
419285d831 Merge "Support go 1.16 in gotestmain" am: d7d1e39aaf
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1696685

Change-Id: I400af9c08bbc2f29324035cb8a27523013edeabf
2021-05-14 22:31:30 +00:00
Colin Cross
d7d1e39aaf Merge "Support go 1.16 in gotestmain" 2021-05-14 22:13:32 +00:00
Colin Cross
2c05b25708 Add support for setting string property in bpmodify am: b1abbada6a am: 47331e6630 am: e775b9190d am: 6ec1dbf6d4
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1692188

Change-Id: Ida5385446a17d322b9cd21be603a3553da575f2a
2021-05-07 16:29:46 +00:00
Colin Cross
8646a7ec22 Improve bpmodify_test.go am: 5ef7b6608c am: 459fe182ff am: 7999a65149 am: c88b254ce1
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1692187

Change-Id: Iad02a2e359597b5a3cb97cec20403b4d207189b0
2021-05-07 16:29:45 +00:00
Colin Cross
6ec1dbf6d4 Add support for setting string property in bpmodify am: b1abbada6a am: 47331e6630 am: e775b9190d
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1692188

Change-Id: I6e0636091ddde866911a12ca0a784428a5bff398
2021-05-07 16:04:52 +00:00
Colin Cross
c88b254ce1 Improve bpmodify_test.go am: 5ef7b6608c am: 459fe182ff am: 7999a65149
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1692187

Change-Id: Ib5525851b44116542b63c21b27a5d7b0e4ccc6d3
2021-05-07 16:04:51 +00:00
Colin Cross
e775b9190d Add support for setting string property in bpmodify am: b1abbada6a am: 47331e6630
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1692188

Change-Id: Id7229c1812876e793e55704a68847453d40416d9
2021-05-07 15:46:48 +00:00
Colin Cross
7999a65149 Improve bpmodify_test.go am: 5ef7b6608c am: 459fe182ff
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1692187

Change-Id: I0fff3e59a9f03f379391b334874e0077918a593a
2021-05-07 15:46:47 +00:00
Colin Cross
47331e6630 Add support for setting string property in bpmodify am: b1abbada6a
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1692188

Change-Id: Icb4ba0eed829c4fd415e5b445996259c1c3499f0
2021-05-07 15:30:29 +00:00
Colin Cross
459fe182ff Improve bpmodify_test.go am: 5ef7b6608c
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1692187

Change-Id: Ib85af9584a93acdac73dd4d4cd657c9d81b55747
2021-05-07 15:30:27 +00:00