Commit graph

1865 commits

Author SHA1 Message Date
Lukács T. Berki
59ef06ad04 Merge "Do not do glob-related things in RunBlueprint()." am: 3bec89465e am: 58c28580fd am: a80ead1974
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1799767

Change-Id: Ia4d2fc857823e12095d45de8274bb99bf2c51c5e
2021-08-19 06:59:50 +00:00
Lukács T. Berki
a80ead1974 Merge "Do not do glob-related things in RunBlueprint()." am: 3bec89465e am: 58c28580fd
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1799767

Change-Id: I6cee2482f510ecfce8e9aa4c21e00e06269d883d
2021-08-19 06:43:45 +00:00
Lukács T. Berki
58c28580fd Merge "Do not do glob-related things in RunBlueprint()." am: 3bec89465e
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1799767

Change-Id: I6e7b980bcdfea32ba32a6f626e16f854ac5b8267
2021-08-19 06:31:35 +00:00
Lukács T. Berki
3bec89465e Merge "Do not do glob-related things in RunBlueprint()." 2021-08-19 06:17:32 +00:00
Lukacs T. Berki
008b6ea661 Do not do glob-related things in RunBlueprint().
From now on, the responsibility of writing build-globs.ninja and adding
the glob list files to build.ninja.d will be the responsibility of
whoever calls Blueprint.

It's nicer this way because the bootstrap Blueprint invocation does not
need globs and Blueprint can be invoked multiple times from the
soong_build binary depending on what it does.

Regrettably, the little Blueprint invocation that generates
build-globs.ninja still requires a reference to a BootstrapConfig
because GlobRule references ${buildDir}.

Side cleanup: remove Args.DocFile, which was unused.

Test: Presubmits.
Change-Id: I37586966e3d6b7557a490ed1ae81ec596ec66ee5
2021-08-19 08:16:19 +02:00
Liz Kammer
0ca3e11123 Use pretty print for json module graph am: 6e4ee8db2d am: 32d736310a am: 1dcc33f114
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1799130

Change-Id: I4f0dc1b7f362a8188d8ac70298a892461c1d1715
2021-08-18 08:06:09 +00:00
Liz Kammer
1dcc33f114 Use pretty print for json module graph am: 6e4ee8db2d am: 32d736310a
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1799130

Change-Id: Ie277eceafb5aeaec20e90287f044ac1f00b46194
2021-08-18 07:51:14 +00:00
Liz Kammer
32d736310a Use pretty print for json module graph am: 6e4ee8db2d
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1799130

Change-Id: I0d90d7f584ba32ab1af899b340ea265fd64deb64
2021-08-18 07:35:23 +00:00
Liz Kammer
6e4ee8db2d Use pretty print for json module graph
Test: SOONG_DUMP_JSON_MODULE_GRAPH=/tmp/json/srcs m nothing and verify
      output
Change-Id: I779dcebce7435f2f48263909c4c62c27c0fbfec4
2021-08-17 17:32:42 -04:00
Lukacs T. Berki
f693779807 Remove Srcdir() from BootstrapConfig. am: 6ec924c12b am: ee289293ea am: 9c5c2d53e4
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1796651

Change-Id: I318ce783b91bf59c81a6e85cf13685ee9cd972a3
2021-08-17 15:41:51 +00:00
Lukacs T. Berki
33ffb874ca Remove global variables in command.go . am: 980c1f0c72 am: b636b78072 am: 7b565f548c
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1796446

Change-Id: Ib5608785db5a0a6604cc26107920e2b05c987129
2021-08-17 15:41:50 +00:00
Lukacs T. Berki
27729ad8d2 Delete support for standalone Blueprint. am: 016a7dd6ef am: d812a01b1b am: 7b25411e98
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1796439

Change-Id: Ia0c7b1fa5a5574d73346f3e34fff9ec85a3cf8eb
2021-08-17 15:41:50 +00:00
Lukacs T. Berki
1daac99edc Remove the ability to emit Blueprint docs. am: 64ee4262a0 am: 7f5966aea0 am: ba29268a8e
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1796437

Change-Id: I647f76782e73c1608791bec9e3c0287452f35581
2021-08-17 15:41:49 +00:00
Lukacs T. Berki
9c5c2d53e4 Remove Srcdir() from BootstrapConfig. am: 6ec924c12b am: ee289293ea
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1796651

Change-Id: I971741209908aaef5695756d8804eab63c5bbba9
2021-08-17 15:27:33 +00:00
Lukacs T. Berki
7b565f548c Remove global variables in command.go . am: 980c1f0c72 am: b636b78072
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1796446

Change-Id: Ia99ddafe6dd6e46ed6865eb0f1d11177d18ef715
2021-08-17 15:27:32 +00:00
Lukacs T. Berki
7b25411e98 Delete support for standalone Blueprint. am: 016a7dd6ef am: d812a01b1b
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1796439

Change-Id: I7c912450dbe9e2b4479ee47c3ba02c081fae5c4a
2021-08-17 15:27:32 +00:00
Lukacs T. Berki
ba29268a8e Remove the ability to emit Blueprint docs. am: 64ee4262a0 am: 7f5966aea0
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1796437

Change-Id: If8397bb195961bf42319e1d5378af61e99d9e06d
2021-08-17 15:27:30 +00:00
Lukacs T. Berki
ee289293ea Remove Srcdir() from BootstrapConfig. am: 6ec924c12b
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1796651

Change-Id: If9394b2a7bc92ba04f37a77dd4138dc54e16cc3b
2021-08-17 15:14:21 +00:00
Lukacs T. Berki
b636b78072 Remove global variables in command.go . am: 980c1f0c72
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1796446

Change-Id: I6bfe4b9864b406e58aa6af2007f486dc6a442b81
2021-08-17 15:14:20 +00:00
Lukacs T. Berki
d812a01b1b Delete support for standalone Blueprint. am: 016a7dd6ef
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1796439

Change-Id: I0383b473121ed81fba0c6fe98ccc8109cced7258
2021-08-17 15:14:20 +00:00
Lukacs T. Berki
7f5966aea0 Remove the ability to emit Blueprint docs. am: 64ee4262a0
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1796437

Change-Id: I22125bda108939bbe6a603abf483a5dbf5d1a851
2021-08-17 15:14:19 +00:00
Lukacs T. Berki
6ec924c12b Remove Srcdir() from BootstrapConfig.
It was always ".".

Test: Presubmits.
Change-Id: I0612b9b07233659adc708b9710db9aec6e24f224
2021-08-16 17:04:50 +02:00
Lukacs T. Berki
980c1f0c72 Remove global variables in command.go .
There used to be two:
- The absolute source directory is now threaded through the code instead
- The command line arguments are moved to soong_build

Test: Presubmits.

Change-Id: Ie09de1a2862ec4ced2c7385198300359f805127d
2021-08-16 15:28:04 +02:00
Lukacs T. Berki
016a7dd6ef Delete support for standalone Blueprint.
Now that Blueprint has been merged with Soong, a large amount of code is
unnecessary.

Test: Presubmits.
Change-Id: I8d30d8b80f37fdc6a9db630a1792c57c7d6edb38
2021-08-16 14:09:47 +02:00
Lukacs T. Berki
64ee4262a0 Remove the ability to emit Blueprint docs.
This is not necessary anymore now that Blueprint doesn't have a separate
existence and Soong's documentation generation uses a completely
separate code path.

Test: Presubmits.
Change-Id: Ibc9e57379c5f8ee9a06d90fbe81fac314f01ee92
2021-08-16 13:42:42 +02:00
Lukacs T. Berki
f6ff0287bd Explain why build.ninja is a non-default output. am: 0eb24a7041 am: b7e1688954 am: 5846dbb290
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1796431

Change-Id: I1048984b9ac275670d6f9acbd8544ad3c457174a
2021-08-16 10:32:26 +00:00
Lukacs T. Berki
2d36c81913 Separate the concept of subninjas and glob files. am: d3a0637702 am: ba3389c635 am: 01893ca863
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1794507

Change-Id: Id83c6c33047185d47fdce7d95a8dda545dc89f4f
2021-08-16 10:32:20 +00:00
Lukacs T. Berki
5846dbb290 Explain why build.ninja is a non-default output. am: 0eb24a7041 am: b7e1688954
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1796431

Change-Id: I7d980690a82e265e2a9507b89d48acc093adecb3
2021-08-16 10:16:39 +00:00
Lukacs T. Berki
01893ca863 Separate the concept of subninjas and glob files. am: d3a0637702 am: ba3389c635
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1794507

Change-Id: I49747e82f2a49c58fef34997b559afddb0b1bb5c
2021-08-16 10:16:31 +00:00
Lukacs T. Berki
b7e1688954 Explain why build.ninja is a non-default output. am: 0eb24a7041
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1796431

Change-Id: Ia57fa998d681a588d72a72a6281685b67991696a
2021-08-16 10:02:49 +00:00
Lukacs T. Berki
ba3389c635 Separate the concept of subninjas and glob files. am: d3a0637702
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1794507

Change-Id: I4514143e03335dc348c25c6b61f0913224b6b8af
2021-08-16 10:02:43 +00:00
Lukacs T. Berki
0eb24a7041 Explain why build.ninja is a non-default output.
Test: Only comment change.
Change-Id: I335670b7f3bed0fe34fdb1d625b6e459146cc192
2021-08-16 11:48:51 +02:00
Lukacs T. Berki
d3a0637702 Separate the concept of subninjas and glob files.
This makes the distinction between what the bootstrap .ninja file and
the main .ninja files do clearer: the bootstrap .ninja file includes the
build-globs.ninja file(s) which the main .ninja file writes.

This required removing the "default" statement from said bootstrap
.ninja file: now we can build more than one thing instead of just
build.ninja and thus soong_ui explicitly tells Ninja what to do instead.

On the side, stop catering for the use case where the bootstrap
Blueprint invocation uses globs: Soong's does not and that's our only
use case.

Test: Presubmits.

Change-Id: Icffce31928242cfe9cdab56b290a37598d32a58c
2021-08-16 09:16:09 +02:00
Xin Li
990fb5e787 [automerger skipped] Mark sc-dev-plus-aosp-without-vendor@7634622 as merged am: bb964bc8eb -s ours am: a71df7be16 -s ours
am skip reason: Merged-In Ibc01f9d5af34f9caeac114b98f7dfb2b5770f222 with SHA-1 74137dfbbb is already in history

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

Change-Id: I7f47059430e40712ad66787c39c05e3b21789268
2021-08-14 06:42:16 +00:00
Xin Li
a71df7be16 [automerger skipped] Mark sc-dev-plus-aosp-without-vendor@7634622 as merged am: bb964bc8eb -s ours
am skip reason: Merged-In Ibc01f9d5af34f9caeac114b98f7dfb2b5770f222 with SHA-1 74137dfbbb is already in history

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

Change-Id: Id0828b8a4157a52365e327fad35d20e23e22a4d4
2021-08-14 06:29:53 +00:00
Xin Li
bb964bc8eb Mark sc-dev-plus-aosp-without-vendor@7634622 as merged
Merged-In: Ibc01f9d5af34f9caeac114b98f7dfb2b5770f222
Change-Id: Ic01b923c7858bde6cf8d153950fc1771dc52aede
2021-08-14 06:03:52 +00:00
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