Commit graph

2564 commits

Author SHA1 Message Date
Sam Delmerico
d8de876ee5 improve error handling for SourceRootDirs am: 48020c8daa am: d5d574c65f
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2515504

Change-Id: I57db921a3fb80581133ba01099d38ed30161a7c9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-31 15:52:49 +00:00
Sam Delmerico
d5d574c65f improve error handling for SourceRootDirs am: 48020c8daa
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2515504

Change-Id: Id223371dd875a27efc1a721b9420510acf0490b7
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-31 15:23:25 +00:00
Sam Delmerico
48020c8daa improve error handling for SourceRootDirs
Previously, warnings about missing modules were printed directly to
stderr. Instead we can pass these messages along as errors using the
existing pathways.

Bug: 269457150
Test: m nothing
Test: add -external to PRODUCT_SOURCE_ROOT_DIRS and observe missing
  module errors
Change-Id: Ib6624b9edbd103247f7f6e6d4c3030f1959aa56c
2023-03-30 14:19:39 -04:00
Treehugger Robot
b4a2d1622d Merge "ignore bp files from PRODUCT_SOURCE_ROOT_DIRS" am: 82aa0ffb51 am: 2451597ebe
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2448683

Change-Id: Ic2d979830665783b0083046cb08dfff893b359f2
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-30 17:34:10 +00:00
Treehugger Robot
2451597ebe Merge "ignore bp files from PRODUCT_SOURCE_ROOT_DIRS" am: 82aa0ffb51
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2448683

Change-Id: I040413f5dcf4e121b8be52cdad3ea6f87403867c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-30 17:02:33 +00:00
Treehugger Robot
82aa0ffb51 Merge "ignore bp files from PRODUCT_SOURCE_ROOT_DIRS" 2023-03-29 17:04:37 +00:00
Spandan Das
e420480dc3 [automerger skipped] Conditional inclusion of blueprint modules am: 4adcf84808 -s ours
am skip reason: Merged-In I79de0d7da3224a5b2025c27a5137f39d00c7382e with SHA-1 ed4af01be6 is already in history

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

Change-Id: If9313f6b3efd26a63a10e05124d9963461c4d4ca
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-28 13:32:10 +00:00
Jeongik Cha
3098a7708d Add GetOutputsFromModuleNames in Context am: 4589dfd812 am: 5f0243476d
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2501987

Change-Id: Ifb76a04c9cd213d0de233f0dfa8a7a48997eed46
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-28 04:55:17 +00:00
Jeongik Cha
5f0243476d Add GetOutputsFromModuleNames in Context am: 4589dfd812
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2501987

Change-Id: I2496ffe00c2a0fa8c6515911c94de11835852bdd
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-28 04:27:24 +00:00
Sam Delmerico
08bd504b62 ignore bp files from PRODUCT_SOURCE_ROOT_DIRS
Soong analyzes the entire source tree even though not every lunch target
needs to know about every module. For example, OEM sources can be
ignored for cuttlefish products. This functionality allows blueprint to
ignore a list of undesired directories.

Bug: 269457150
Change-Id: Icbbf8f3b66813ad639a7ebd27b1a3ec153cbf269
2023-03-27 14:43:07 -04:00
Jeongik Cha
4589dfd812 Add GetOutputsFromModuleNames in Context
To build ninja hint including output path from module name

Test: m --ninja_weight_source=soong
Bug: 273282046
Change-Id: Ibb94c2c4efef4a6dedc973cbb90625231845d42e
2023-03-23 11:17:11 +09:00
Cole Faust
60af4fd79c Optimize and simplify order-only dep deduplication am: bef8688e45 am: 86c4dd91a5
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2492857

Change-Id: I734ec31cb611c4551c3821ff3c70f1247a714846
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-17 18:27:42 +00:00
Cole Faust
86c4dd91a5 Optimize and simplify order-only dep deduplication am: bef8688e45
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2492857

Change-Id: I11d5b303611872b7d7243146a85a8fdfb6200c89
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-17 17:49:32 +00:00
Cole Faust
bef8688e45 Optimize and simplify order-only dep deduplication
This reduces the extract_phonys (now deduplicate_order_only_deps)
event's time from ~1.9s to ~1.5s on aosp-master, and from ~5.3s to ~4.6s
on internal master.

It does so by making keyForPhonyCandidate be based on a hash instead
of joining all the deps together. Having a hash allows us to also use
it as the name of the phony target, which simplifies the code a little.

Bug: None (original cl introducing extractPhonys also didn't have a bug)
Test: go tests
Change-Id: I2ff6e4614f19ccbfe99112ea7ae1ea33cd1df21b
2023-03-16 16:43:55 -07:00
Spandan Das
4adcf84808 Conditional inclusion of blueprint modules
Bug: 270654958

This introduces a new `blueprint_package_includes` module type. If
present, other blueprint modules in that file will be analyzed
if and only if the requested include tags are met

example syntax:
```
Android.bp
blueprint_packgage_includes {
  match_all: ["tag1", "tag2", ...],
}

other_module1 {...}
other_module2 {...}
```
other_module1 and other_module2 will not be analyzed unless
tag1,tag2, ... are set

This also adds a new object of type `IncludeTags` to the Context object,
which is a container for these string keys.

Test: In build/blueprint, go test ./
Test: TH

Change-Id: I79de0d7da3224a5b2025c27a5137f39d00c7382e
Merged-In: I79de0d7da3224a5b2025c27a5137f39d00c7382e
(cherry picked from commit fd1f976100fb78d50902bd6feb550e92f70fa962)
2023-03-15 22:13:04 +00:00
Cole Faust
a18bf4dacb Merge "Fix error messages not printing names" am: 2ed895448b am: ef778a12ac
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2477772

Change-Id: Ib3a3e6467e08d20aff773f2df555a63dbbcd4b1a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-09 01:04:08 +00:00
Cole Faust
ef778a12ac Merge "Fix error messages not printing names" am: 2ed895448b
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2477772

Change-Id: I24c36250b68c7b69363d450e1016eac82f2fc3ee
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-09 00:29:28 +00:00
Cole Faust
2ed895448b Merge "Fix error messages not printing names" 2023-03-08 23:57:31 +00:00
Cole Faust
ff87a5128b Fix error messages not printing names
Bug: 271424349
Test: Presubmits
Change-Id: I8dd6ab7109c29bd8a03fd2f898eebe1a50a28914
2023-03-08 11:53:24 -08:00
Usta Shrestha
ff1beefbb9 Use phony ninja outputs to reduce file-size am: 2bae13b095 am: 80d4d41953
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2449271

Change-Id: I53bfafbf9025e6fb3c0f7ba8635cd85b14b89c0a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-07 17:06:47 +00:00
Usta Shrestha
80d4d41953 Use phony ninja outputs to reduce file-size am: 2bae13b095
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2449271

Change-Id: Id6d6187eef662ab628c268caa9b26391df075da5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-07 16:30:56 +00:00
Usta Shrestha
2bae13b095 Use phony ninja outputs to reduce file-size
1. scan if any set of order-only deps are repeated
  2. if so extract them as a phony output to be shared

Test: m libc
Bug: NA
Change-Id: I0689111b97bbbd1f3b26650e8ae2e0a4ffb5085e
2023-03-07 01:39:27 -05:00
Kevin Dagostino
bcdf8aceda Enable parallelCompile since golang is now >= 1.9 am: ad7bcc7b50 am: 0ce4909fd2
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2469723

Change-Id: I0c1435a7800432bef5365ec506e9d88f9afb1691
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-06 18:34:50 +00:00
Kevin Dagostino
0ce4909fd2 Enable parallelCompile since golang is now >= 1.9 am: ad7bcc7b50
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2469723

Change-Id: If58146bc8c54081ee318362f33a79db8cfbd51f5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-06 18:00:20 +00:00
Kevin Dagostino
ad7bcc7b50 Enable parallelCompile since golang is now >= 1.9
Test: m nothing
Change-Id: I38cdd83ca9b17263155433abb65fb4f97b5ec70b
2023-03-03 21:57:29 +00:00
Usta Shrestha
f1f0a2b86d cosmetic: readability am: 4cff07db25 am: 35136c7d74
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2449269

Change-Id: I18cd8103f3ef6732758ae2f30d30421057a3f916
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-02 05:41:10 +00:00
Usta Shrestha
35136c7d74 cosmetic: readability am: 4cff07db25
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2449269

Change-Id: I90f60e52e43528e26681278244bccb8667675444
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-02 05:07:10 +00:00
Usta Shrestha
db79b843ca Add unit test for EventHandler am: 3e334cfed2 am: 66a29aefa0
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2458548

Change-Id: I67314a9444b805d6ce4ce75df34c33fc20cdeb6e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-02-28 21:09:54 +00:00
Usta Shrestha
66a29aefa0 Add unit test for EventHandler am: 3e334cfed2
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2458548

Change-Id: I18705ae924814febb401af5e447920ea507bcaf0
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-02-28 19:35:06 +00:00
Usta Shrestha
4cff07db25 cosmetic: readability
Test: run `m nothing`
Bug: NA
Change-Id: Id58635cc949f07e5263ad67b0e78c66d19abba40
2023-02-27 11:41:51 -05:00
Usta Shrestha
3e334cfed2 Add unit test for EventHandler
Test: the added file
Bug: NA
Change-Id: Id50105e84585348ce8540f52407224daeb8eb0d4
2023-02-27 11:41:51 -05:00
Treehugger Robot
fda564250b Merge "cosmetic: use _ for unused args" am: 1821351760 am: a50172080b
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2449270

Change-Id: Ie3116892134a58d548fccb79b77542425b6797cb
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-02-23 19:52:07 +00:00
Usta Shrestha
a694aae313 cosmetic: readability am: ce85ecb176 am: 2833cebfa2
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2444579

Change-Id: I22681f6bad2beeb46cbce2f1951e89d6c53e0e96
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-02-23 19:50:15 +00:00
Treehugger Robot
a50172080b Merge "cosmetic: use _ for unused args" am: 1821351760
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2449270

Change-Id: I57324caea1736d8b4c6e95c2956caacd5b53f1c7
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-02-23 19:46:21 +00:00
Usta Shrestha
2833cebfa2 cosmetic: readability am: ce85ecb176
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2444579

Change-Id: I4772e567093cace606edcdb6fe486dacbd92ed4b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-02-23 19:14:04 +00:00
Treehugger Robot
1821351760 Merge "cosmetic: use _ for unused args" 2023-02-23 16:21:18 +00:00
Usta Shrestha
7f3c51ca43 cosmetic: use _ for unused args
Test: run `m nothing`
Bug: NA
Change-Id: Idfdb0d4121244e25847822114a2d12c6bb18ebd1
2023-02-23 02:28:12 +00:00
Usta Shrestha
ce85ecb176 cosmetic: readability
Test: run `m nothing` and `m nothing --empty_ninja_file`
Bug: NA
Change-Id: I6fd81667ea2d636139ae38bc36315f8710b72c25
2023-02-23 02:27:26 +00:00
Sam Delmerico
4373a40e61 apply gofmt am: 26e44b7b78 am: 112f8ce34f
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2448682

Change-Id: I0826f298f1dc436acfad17d451b9607ae07f1257
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-02-22 16:46:02 +00:00
Sam Delmerico
112f8ce34f apply gofmt am: 26e44b7b78
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2448682

Change-Id: I9627ededb4270842ccc5f205b720c002c30c52a5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-02-22 15:43:22 +00:00
Sam Delmerico
26e44b7b78 apply gofmt
Change-Id: I2416e246b3d8485a6b7810b998cff2f45f6a0494
2023-02-21 15:11:20 -05:00
Liz Kammer
becc2f6a3e Add event handler for each mutator am: a988f08000 am: 01fb1d4c41
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2432532

Change-Id: Ib9b6f0db5dd408a48acddb634b1889403405afc3
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-02-14 20:42:40 +00:00
Liz Kammer
c2e79cbc36 Add getter for EventHandler so its easier to mock am: 073f69d723 am: addb326e69
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2434332

Change-Id: I1a174c90e1d7f7e59f05677cf29363e6320ed9ca
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-02-14 20:40:40 +00:00
Liz Kammer
01fb1d4c41 Add event handler for each mutator am: a988f08000
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2432532

Change-Id: I977d86f07f9d68534e2f1714379e0882d74b8b48
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-02-14 19:53:24 +00:00
Liz Kammer
addb326e69 Add getter for EventHandler so its easier to mock am: 073f69d723
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2434332

Change-Id: I5623fa879897e896ba1762172bd0b1a0dc6addf7
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-02-14 19:51:29 +00:00
Liz Kammer
a988f08000 Add event handler for each mutator
Collect additional metrics for individual mutators in order to
understand impact of individual mutators.

Test: m nothing
Change-Id: Ic3ecb1e79a79dd665c9f60d29f0dfd3732481c2d
2023-02-13 18:02:23 -05:00
Liz Kammer
073f69d723 Add getter for EventHandler so its easier to mock
Test: m nothing
Change-Id: Ied338a25f12404ddc88c3b3cb7d7f2ff9ade3aab
2023-02-13 18:02:22 -05:00
Chris Parsons
c7a2ba54bf Close ninja file descriptor am: 58a29728ea am: 33d423ce03
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2428033

Change-Id: I652b2701a72de7198553766f90ae396828214103
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-02-09 19:07:25 +00:00
Chris Parsons
33d423ce03 Close ninja file descriptor am: 58a29728ea
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2428033

Change-Id: I47bb7ac1f2628b3aed73491d71ab0415edfe4654
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-02-09 17:45:29 +00:00
Chris Parsons
58a29728ea Close ninja file descriptor
With this close() missing, especially with large ninja files, soong paid
the runtime cost at arbitrary times during the rest of its execution (or
during process cleanup).

Test: Manual runs of `m nothing` and verifying timing metrics
Change-Id: Ibdfbf7371cfc4c58c485e76f96b8e9b9ad900972
2023-02-08 23:33:56 -05:00