Commit graph

1962 commits

Author SHA1 Message Date
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
Colin Cross
ce447fc83e Support go 1.16 in gotestmain
go 1.16 adds a new method on the testDeps interface passed to
testing.MainStart.

Test: m nothing
Change-Id: I5c42a4294a775337696dc2d64791dee301eac390
2021-05-04 19:29:23 -07:00
Colin Cross
b1abbada6a Add support for setting string property in bpmodify
Add a -str argument to set a property to a string value.

Bug: 186723288
Test: bpmodify_test.go
Change-Id: I490e3be182693c8720020814da579e6e788b3d9f
2021-05-04 08:02:13 -07:00
Colin Cross
5ef7b6608c Improve bpmodify_test.go
Make TestProcessModule use subtests, give the tests names, and
use named fields in the testcase struct.

Test: bpmodify_test.go
Change-Id: I85345bd419e4c3ccf0050b7efae0479dd03d8bea
2021-04-29 19:11:39 -07:00
Colin Cross
f22bd2471a Make AddVariationDependencies return list of nil for non-parallel mutators am: 2f7d3dd6fb am: c930745caa am: 40ee8f7236 am: 2d803d6102
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1689707

Change-Id: I03c91fc176509a8a383fcfaf478808d01bbb229c
2021-04-29 04:07:02 +00:00
Colin Cross
c1765fe8c2 Add variant to dependency cycle errors am: e5ff770c95 am: 54d8f87981 am: 2ef3c79d58 am: f1c5c636b5
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1689306

Change-Id: I11ae75de0eefea9d796c0298b309377caaf896cc
2021-04-29 04:07:02 +00:00
Colin Cross
3b3965db39 Speed up finding dependency cycles am: 9793b0a5e0 am: 010f5bbd8d am: 92f64550cd am: 08d29011da
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1689305

Change-Id: I143cceaa1af1d74f1b2f3ad0e87186b3de0bb922
2021-04-29 04:07:01 +00:00
Colin Cross
2d803d6102 Make AddVariationDependencies return list of nil for non-parallel mutators am: 2f7d3dd6fb am: c930745caa am: 40ee8f7236
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1689707

Change-Id: Ic902f494d368c6ffec8150a2b310e4830d2f9819
2021-04-29 03:37:37 +00:00
Colin Cross
f1c5c636b5 Add variant to dependency cycle errors am: e5ff770c95 am: 54d8f87981 am: 2ef3c79d58
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1689306

Change-Id: Ifbffea250fb729d65aa9848edb491e894db68b58
2021-04-29 03:37:36 +00:00
Colin Cross
08d29011da Speed up finding dependency cycles am: 9793b0a5e0 am: 010f5bbd8d am: 92f64550cd
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1689305

Change-Id: I7fce8059f965a5d4db187e8165c518040ccff10b
2021-04-29 03:37:35 +00:00
Colin Cross
40ee8f7236 Make AddVariationDependencies return list of nil for non-parallel mutators am: 2f7d3dd6fb am: c930745caa
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1689707

Change-Id: If389553339f8e6998e27beee1a859577fad49543
2021-04-29 03:00:27 +00:00
Colin Cross
2ef3c79d58 Add variant to dependency cycle errors am: e5ff770c95 am: 54d8f87981
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1689306

Change-Id: I896d8c4d6dfb1b8fedf0fcee78d0f6cfdee41a67
2021-04-29 03:00:26 +00:00
Colin Cross
92f64550cd Speed up finding dependency cycles am: 9793b0a5e0 am: 010f5bbd8d
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1689305

Change-Id: I65385bbe06dc0877fb4d8d01cb8e636804722ce2
2021-04-29 03:00:25 +00:00
Colin Cross
c930745caa Make AddVariationDependencies return list of nil for non-parallel mutators am: 2f7d3dd6fb
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1689707

Change-Id: I0f09501f6e5e884fed48a0b67adf23ccae9dbb90
2021-04-29 00:13:53 +00:00
Colin Cross
54d8f87981 Add variant to dependency cycle errors am: e5ff770c95
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1689306

Change-Id: I5146b753d84b0df9125c14a0dc617198f7c51852
2021-04-29 00:13:52 +00:00
Colin Cross
010f5bbd8d Speed up finding dependency cycles am: 9793b0a5e0
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1689305

Change-Id: I28b57ccfe40e04e446d8ff4c721752ff1a69aae9
2021-04-29 00:13:51 +00:00
Colin Cross
2f7d3dd6fb Make AddVariationDependencies return list of nil for non-parallel mutators
According to the documentation, Add[Variation]Dependencies should be
returning a list the same length as the input list.  A non-parallel
mutator doesn't support pausing to wait for new dependencies to finish
the current mutator pass, so it can't return the new dependencies.  Make
it return a list of nil instead to match the contract.

Bug: 186539038
Test: TestAddVariationDependencies
Change-Id: I07d0ac1f3024dcb7c94a2518910a68b61cd731e2
2021-04-28 11:50:37 -07:00
Colin Cross
e5ff770c95 Add variant to dependency cycle errors
Use moduleInfo.String() to print dependency cycle errors so they
contain the variant.

Test: Test_parallelVisit
Change-Id: I2bddaa35c8abb57c42b4c424e861361a8813d588
2021-04-28 09:40:47 -07:00