Commit graph

2371 commits

Author SHA1 Message Date
Lukacs T. Berki
e8b63cfc22 Implement transition mutators. am: eb641de659 am: c820666d8b am: 87c247b428
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2123296

Change-Id: Ia72c1bfca44033a146904e83db0f1599f3dcdde8
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-18 20:37:08 +00: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
b32f848409 recommend a EventHandler.Do() am: 2a95e590b6 am: 0ca2d0cb67 am: 36551c5a13
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2095267

Change-Id: I5c4aa98bfc3fac5032fdbd95062ce93926aa1bff
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-31 17:40:39 +00: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
6a689cd7d1 Merge "Allow users to specify extra json action data" am: 57d5937e6f am: 13a7388e46 am: b84b3ed83a
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2108469

Change-Id: I59272f83ce9e08ae082186cbf70f50c4553598d4
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-27 14:32:24 +00: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
c8f24384e6 Merge "Add info to json module graph about CreateModule" am: 54c00c6618 am: fcfc7e2f1a am: 23258206f4
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2085745

Change-Id: Ie1012ddab2198818c257dd9107adca2a87ab9614
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-24 20:56:40 +00: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
3d7627ee58 Merge "Support pre-build-action hook in blueprint" am: df4ad24151 am: 94222dc0f7 am: eb83859840
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2094704

Change-Id: Ie60371fe96b9522f4462fc8f6cc6fe035d928bda
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-20 16:32:20 +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
b29a7c6c33 Allow deferred module build action generation. am: 67a6d702d1 am: 1739902dcf am: d3f68a1702
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2099161

Change-Id: I247d0c021bfde0f4147aa7a54c1532b9b23fefa3
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-19 19:30:54 +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
1ef4defe98 Merge "Add a filelock for in-place case" am: cdbab1ea51 am: 4bb43ed7a2 am: 87642d1daf
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2092123

Change-Id: Ia85d8f5b57c2ca8edcd3383b83fa08a7111af095
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-13 21:19:37 +00: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
2826d6a550 Rename jsonVariationMap to jsonVariations. am: c6d80893cb am: 72848a40d8 am: 49f47d14d9
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2075942

Change-Id: I3424cae971910d8bb4d27b424f84cbd11f27a560
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-03 16:13:38 +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
adedb1025c Merge "Update CreateModule to require a type name" am: 5208ee885c am: 6d5c00183d am: fdf38ed489
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2075941

Change-Id: Ieb04d341fa7d2127053212babe905a21ff7e358a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-27 17:56:12 +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
cfcb14e688 Remove the concept of "early mutator". am: 83a5a308b1 am: 85011ed22a am: 24a8eb0e51 am: c25454a0d5
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2067144

Change-Id: I77902e521cb7f9d501c6db9bec5cac6b7a31b588
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-20 09:11:43 +00: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
bb15015143 Change jsonVariationMap to array of struct am: 8097d1a0e6 am: 465668494e am: b753906270 am: 353186f043
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2059708

Change-Id: Id1f08f199555d2e09fbd1daa6ce37c7369e1200e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-11 14:00:46 +00: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