Commit graph

2368 commits

Author SHA1 Message Date
Xin Li
720cbde1a8 [automerger skipped] DO NOT MERGE - Empty merge of tm-dev-plus-aosp-without-vendor@8763363 am: e876fce0c3 -s ours
am skip reason: subject contains skip directive

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

Change-Id: I38ba9eed807b068661ecf0991503731d8385986e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-28 01:48:15 +00:00
Xin Li
e876fce0c3 DO NOT MERGE - Empty merge of tm-dev-plus-aosp-without-vendor@8763363
Merged-In: Ic52fbdb64042148d851403b4afd2dd5392282f77
Change-Id: I333f02efcee7c3c19f076c5c2d19b2f3755ea216
2022-06-27 23:25:43 +00:00
Lukacs T. Berki
86c65ecafd Add godoc for TransitionMutator. am: e76d4122ee am: 0c5cd475c1
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2134474

Change-Id: I86780d89477b62e00d8e0099c95481110a66ee12
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-27 07:28:54 +00:00
Lukacs T. Berki
0c5cd475c1 Add godoc for TransitionMutator. am: e76d4122ee
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2134474

Change-Id: Ia7c54a9883ff27c165a66449a0f564ad212f625c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-27 07:11:19 +00:00
Lukacs T. Berki
e76d4122ee Add godoc for TransitionMutator.
Test: Presubmits.
Change-Id: I5eba0a4f4d4653a36ff52ed81ee101461ff92b5d
2022-06-27 08:51:58 +02:00
Bob Badour
e5e190bd21 Add NinjaAndShellEscapeIncludingSpaces am: 2a62643266 am: c5a0b4b5a1
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2132413

Change-Id: I8515242e5734771ba4a2f12cf6daf9bfe0c9f2d2
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-21 20:51:32 +00:00
Bob Badour
c5a0b4b5a1 Add NinjaAndShellEscapeIncludingSpaces am: 2a62643266
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2132413

Change-Id: I4f3c18d52198507929a93850cdc8053ea76dc124
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-21 20:24:17 +00:00
Bob Badour
2a62643266 Add NinjaAndShellEscapeIncludingSpaces
Bug: 235333302

Test: m droid dist
Change-Id: Ic52fbdb64042148d851403b4afd2dd5392282f77
2022-06-21 11:10:16 -07:00
Lukacs T. Berki
87c247b428 Implement transition mutators. am: eb641de659 am: c820666d8b
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2123296

Change-Id: I82bbc8ad29af9152c627a551a5c886d75f5779cc
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-18 20:17:49 +00:00
Lukacs T. Berki
c820666d8b Implement transition mutators. am: eb641de659
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2123296

Change-Id: I78ba253631489b427f64f321f0cefde823cb6757
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-18 19:46:32 +00:00
Lukacs T. Berki
eb641de659 Implement transition mutators.
These are more limited than bottom-up or top-down mutators but in
exchange have some pleasant properties:

- "variant not found" errors are impossible
- The logic is pleasantly split into multiple, mostly orthogonal
  parts
- Theoretically, if every mutator is refactored like this, they
  make it possible to partially cache the module graph
- Are quite close to a "configuration transition" in Bazel.

Bug: 231370928
Test: Presubmits.
Change-Id: Idcdb66b5ea75c0d2838f527aaa988df3b12553d8
2022-06-17 17:51:04 +02:00
Usta Shrestha
36551c5a13 recommend a EventHandler.Do() am: 2a95e590b6 am: 0ca2d0cb67
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2095267

Change-Id: Ie3562a5645b24559b5b9ff7292262ea4c3ab0e09
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-31 16:54:18 +00:00
Usta Shrestha
0ca2d0cb67 recommend a EventHandler.Do() am: 2a95e590b6
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2095267

Change-Id: Id932c62693ec48b264d855a0cdf7559718f00b81
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-31 16:11:02 +00:00
Usta Shrestha
2a95e590b6 recommend a EventHandler.Do()
Test: manually verified equivalence
Bug: N/A
Change-Id: I2a5abd5b1230ab1f1b5851672e80833c5d18d5c7
2022-05-27 15:39:16 -04:00
Treehugger Robot
b84b3ed83a Merge "Allow users to specify extra json action data" am: 57d5937e6f am: 13a7388e46
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2108469

Change-Id: I5537fb1b2dca354af3874f0d9be5103cb2bde6f4
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-27 14:09:48 +00:00
Treehugger Robot
13a7388e46 Merge "Allow users to specify extra json action data" am: 57d5937e6f
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2108469

Change-Id: I60c17451481ca3955e0f18270d531c773c0fd14e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-27 13:53:20 +00:00
Treehugger Robot
57d5937e6f Merge "Allow users to specify extra json action data" 2022-05-27 13:29:54 +00:00
Liz Kammer
d625c97587 Allow users to specify extra json action data
Test: m json-module-graph and validate output
Change-Id: I7ff7c2c98e49f515efb19845aa3a860e14360a32
2022-05-26 16:17:35 -04:00
Treehugger Robot
23258206f4 Merge "Add info to json module graph about CreateModule" am: 54c00c6618 am: fcfc7e2f1a
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2085745

Change-Id: If35894e26aba7d3111250bbc21b4f53046f80253
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-24 20:28:22 +00:00
Treehugger Robot
fcfc7e2f1a Merge "Add info to json module graph about CreateModule" am: 54c00c6618
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2085745

Change-Id: I3d72faa70682212c5f76cff0f513c208698bd130
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-24 19:45:19 +00:00
Treehugger Robot
54c00c6618 Merge "Add info to json module graph about CreateModule" 2022-05-24 19:20:28 +00:00
Christopher Parsons
eb83859840 Merge "Support pre-build-action hook in blueprint" am: df4ad24151 am: 94222dc0f7
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2094704

Change-Id: Ie7b1a33da013cd7b78f2c22e8a94295f70d0f6b8
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-20 16:15:37 +00:00
Christopher Parsons
94222dc0f7 Merge "Support pre-build-action hook in blueprint" am: df4ad24151
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2094704

Change-Id: Iea76743f2ae4fa3e5691092722f956df49d201cd
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-20 15:52:30 +00:00
Christopher Parsons
df4ad24151 Merge "Support pre-build-action hook in blueprint" 2022-05-20 14:13:49 +00:00
Bob Badour
d3f68a1702 Allow deferred module build action generation. am: 67a6d702d1 am: 1739902dcf
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2099161

Change-Id: Ibe2775cfb6af169603ccd9ec9cb1141271ed80c7
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-19 19:09:45 +00:00
Bob Badour
1739902dcf Allow deferred module build action generation. am: 67a6d702d1
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2099161

Change-Id: I98824aff0318e2923515327ab165d7f4c4dd408a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-19 18:47:56 +00:00
Bob Badour
67a6d702d1 Allow deferred module build action generation.
Provide a means to generate build actions for modules from within the
later singleton context. Allows modules to depend on the metadata for
arbitrary modules without causing dependency cycles.

Care needs to be taken to establish all metadata during the normal
module GenerateBuildAction to avoid synchronization issues and only
use read-only access to modules from the singleton context.

Bug: 213388645

Change-Id: I82ed218926b1d8fbe2edde6d55c4bf40ea0d8618
2022-05-18 17:59:16 -07:00
Treehugger Robot
87642d1daf Merge "Add a filelock for in-place case" am: cdbab1ea51 am: 4bb43ed7a2
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2092123

Change-Id: Iafa406ca58dd9c129ff5823a4d09254ff971f82e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-13 20:41:58 +00:00
Treehugger Robot
4bb43ed7a2 Merge "Add a filelock for in-place case" am: cdbab1ea51
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2092123

Change-Id: Ic1fecda84792216985d366c40e2b8afbecfdf58c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-13 19:50:05 +00:00
Chris Parsons
91f638f692 Support pre-build-action hook in blueprint
This allows for a bazel-invocation hook in mixed builds, which allows
for mixed builds to take place in only a single pass, greatly improving
its performance and complexity.

Test: Conjunction with build/soong CL
Change-Id: If89fb56830b4eb06d3263d6ca6da7b285e7ba315
2022-05-10 13:46:40 -04:00
Treehugger Robot
cdbab1ea51 Merge "Add a filelock for in-place case" 2022-05-10 04:06:52 +00:00
Jeongik Cha
28c7996f2c Add a filelock for in-place case
Multiple bpmodify process on the same Android.bp can run in parallel in
the case of aidl-freeze-api.

So, add a file lock for in-place editing case(-w)

Bug: 229413853
Test: run bpmodify in parallel and check result
Change-Id: I5368b0304b59f34fff60025120b38cc5f615ac40
2022-05-10 01:30:08 +00:00
Liz Kammer
49f47d14d9 Rename jsonVariationMap to jsonVariations. am: c6d80893cb am: 72848a40d8
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2075942

Change-Id: Ie8e5bec8f2e0e58bbdf4da3af6b71845d316af23
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-03 15:33:50 +00:00
Liz Kammer
72848a40d8 Rename jsonVariationMap to jsonVariations. am: c6d80893cb
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2075942

Change-Id: I0bdab16aac2d2c4b6000d9553f2e58634eba89c6
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-03 15:09:11 +00:00
Liz Kammer
0cd0d4fbbc Add info to json module graph about CreateModule
Blueprint already stores the module that called CreateModule, let's
surface it.

Test: m json-module-graph and view results
Change-Id: Ie67bf8e431d764eb23727c90200f57c9de4ab053
2022-05-03 10:49:10 -04:00
Liz Kammer
c6d80893cb Rename jsonVariationMap to jsonVariations.
Test: m json-module-graph
Change-Id: I99663586ded4c5d7c0f61859292afbcf80a1e526
2022-05-03 12:33:02 +00:00
Treehugger Robot
fdf38ed489 Merge "Update CreateModule to require a type name" am: 5208ee885c am: 6d5c00183d
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2075941

Change-Id: If31dc33089fcf58c3a5f59aa3bd8b1658bb54862
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-27 17:53:12 +00:00
Treehugger Robot
6d5c00183d Merge "Update CreateModule to require a type name" am: 5208ee885c
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2075941

Change-Id: I4cf841f573e5315fdf468ca9ac79ad5f433419c9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-27 17:27:49 +00:00
Treehugger Robot
5208ee885c Merge "Update CreateModule to require a type name" 2022-04-27 16:00:35 +00:00
Liz Kammer
9967d62fad Update CreateModule to require a type name
This makes the LoadHook and TopDownMutatorContext interfaces for
CreateModule the same.

Test: CI
Change-Id: I30122099bdf109cda40f9d81a574dd6fa861f459
2022-04-26 09:15:13 -04:00
Lukacs T. Berki
c25454a0d5 Remove the concept of "early mutator". am: 83a5a308b1 am: 85011ed22a am: 24a8eb0e51
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2067144

Change-Id: I06e5296e3748fb6e1cc84d267b22d12e96b45a50
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-20 08:01:56 +00:00
Lukacs T. Berki
24a8eb0e51 Remove the concept of "early mutator". am: 83a5a308b1 am: 85011ed22a
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2067144

Change-Id: I3f1ee5e004ba71d5ded49f471b7ed1e883e5d36b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-20 07:44:04 +00:00
Lukacs T. Berki
85011ed22a Remove the concept of "early mutator". am: 83a5a308b1
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2067144

Change-Id: Idef83a405d9f5be0fdeb198a72440aa15c0c42b8
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-20 07:16:49 +00:00
Lukacs T. Berki
83a5a308b1 Remove the concept of "early mutator".
It was unused and as such, maintenance cost for no benefit.

Test: Presubmits.
Change-Id: Ifc35c0f55647ef88ed0bfa44bcf709e51a904ea4
2022-04-19 18:12:03 +02:00
Liz Kammer
353186f043 Change jsonVariationMap to array of struct am: 8097d1a0e6 am: 465668494e am: b753906270
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2059708

Change-Id: I8f7c098edb84a512d520618375c5832e9ac7d040
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-11 13:39:00 +00:00
Liz Kammer
b753906270 Change jsonVariationMap to array of struct am: 8097d1a0e6 am: 465668494e
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2059708

Change-Id: Ia3c6ac6f7567822d1d8079955f2f613aaba46303
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-11 13:18:08 +00:00
Liz Kammer
465668494e Change jsonVariationMap to array of struct am: 8097d1a0e6
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2059708

Change-Id: Ie33f624c729e4dccc338361ac2da1334a74bb2c7
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-11 12:48:53 +00:00
Liz Kammer
8097d1a0e6 Change jsonVariationMap to array of struct
This more structured data is easier to query

Test: m json-module-graph & look at the graph
Change-Id: I44ba6a8df12208705f37ee6908ad5391a6f404a1
2022-04-08 13:14:13 -04:00
Treehugger Robot
fe6535ef4f Merge "Add event handling to blueprint for metrics" am: 0d2386c60a am: 588582db8a am: ccd4224c8a
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2043864

Change-Id: I58a0183d93378e4ed3b6b2f518013386ba8c9f96
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-03-26 01:06:44 +00:00
Treehugger Robot
ccd4224c8a Merge "Add event handling to blueprint for metrics" am: 0d2386c60a am: 588582db8a
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2043864

Change-Id: I8cc05142308c57fe3fd508fca8bb96f342eb8a32
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-03-26 00:54:03 +00:00