Commit graph

2507 commits

Author SHA1 Message Date
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
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
26e44b7b78 apply gofmt
Change-Id: I2416e246b3d8485a6b7810b998cff2f45f6a0494
2023-02-21 15:11:20 -05: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
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
Cole Faust
c5baf11a2d Show the ninja string that failed to parse in errors
So that it's easier to debug what the problem is.

Test: m nothing
Change-Id: I97e81f98f0365e981d34c6b8bec8528de1b7e514
2023-01-19 14:23:04 -08:00
Treehugger Robot
a405cf7f6a Merge changes I516c984b,I2b3354de
* changes:
  comment on how glob files are written
  cosmetic: use map[_]struct{}  for set semantics
2022-12-21 15:44:42 +00:00
Usta Shrestha
f0e02237da comment on how glob files are written
Bug: NA
Test: NA
Change-Id: I516c984b62d07ca7f188b2faef1466c5720b3b22
2022-12-21 01:04:19 -05:00
Usta Shrestha
09e0dd2ec9 cosmetic: use map[_]struct{} for set semantics
Bug: NA
Test: `m nothing` then view soong_metrics
Change-Id: I2b3354de3259ffef9ae881d59ac844fb518074f2
2022-12-21 01:01:55 -05:00
Sasha Smundak
08343b7a89 bootstrap.Args should contain only relevant command line arguments
Soong/Bazel-specific arguments are now kept in Soong.

Test: treehugger
Change-Id: If37bc6ea60b58173baa981bb5c85bfc90102005c
2022-12-14 10:27:31 -08:00
Spandan Das
9bc3a984d7 Merge "Conditional inclusion of blueprint modules" am: c3887c2bbb
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2296765

Change-Id: I013db529bab6f374bc1ba5831947464336a571a0
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-12-06 00:18:11 +00:00
Spandan Das
c3887c2bbb Merge "Conditional inclusion of blueprint modules" 2022-12-05 23:50:23 +00:00
MarkDacek
2def2db38b Add bazel-force-enabled-modules. am: 99f7962b35
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2322194

Change-Id: If3e2893d549129999b077de97816a81aa13c6055
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-12-02 22:29:42 +00:00
Spandan Das
ed4af01be6 Conditional inclusion of blueprint modules
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
2022-12-02 01:46:28 +00:00
MarkDacek
99f7962b35 Add bazel-force-enabled-modules.
Test: m nothing
Change-Id: I97d8fcb304f0d039fd7bbd3ea3d01966ae25471f
2022-12-01 20:15:33 +00:00
Colin Cross
2fde855964 Add VariableFuncContext argument to VariableFuncs am: 1b457a5e10
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2286235

Change-Id: I31c3a919ad66d0abd68bb77aeeca15f6467dd159
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-11-04 22:15:14 +00:00
Colin Cross
1b457a5e10 Add VariableFuncContext argument to VariableFuncs
Add a VariableFuncContext argument to VariableFuncs that implements
GlobWithDeps.  This will allow Soong to use optimized glob dependencies
in VariableFuncs.

Bug: 257079828
Test: no dependencies on directories in build.ninja.d
Change-Id: Iee5fc9c9ae3087662a5d1a3d7323a87462299205
2022-11-04 18:21:31 +00:00
Devin Moore
6a817b84a2 Merge "bpmodify: Add a set-bool flag to set single boolean values" am: 2a9208713e
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2275926

Change-Id: I2340390806878ca8355d16654a2dcef522be45be
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-10-28 21:34:28 +00:00
Devin Moore
2a9208713e Merge "bpmodify: Add a set-bool flag to set single boolean values" 2022-10-28 20:54:06 +00:00
Devin Moore
753a555fdd bpmodify: Add a set-bool flag to set single boolean values
This is treated similar to other set commands, but add a single boolean
value to the property.

Test: bpmodify_test.go
Test: bpmodify -d -m android.hardware.drm -property frozen -set-bool
false Android.bp
Test: Same command above with "true" "misspelled" "1" for -set-bool
Bug: 231903487

Change-Id: I598da41a38409877af410f9715838d86b0873173
2022-10-28 18:46:51 +00:00
Lukács T. Berki
d2ad6f7305 Merge "Add order-only inputs for primary builder." am: 93bd28ae61
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2273286

Change-Id: Ifddf21f5bcfef9091ed55c66f877fdcbaad894c2
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-10-28 07:39:37 +00:00
Lukács T. Berki
93bd28ae61 Merge "Add order-only inputs for primary builder." 2022-10-28 07:05:00 +00:00
Lukacs T. Berki
0acaefea0d Add order-only inputs for primary builder.
Test: Presubmits.
Change-Id: Iefe729f6874c1154c94d10563fb2fac3dc03049a
2022-10-27 08:05:27 +00:00
Treehugger Robot
08b3e92c5d Merge "cosmetics syntax simplification" am: 645184efb0
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2250115

Change-Id: I5bded92ecd4c0432cb314a952687e0d691b4061a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-10-26 15:23:19 +00:00
Treehugger Robot
645184efb0 Merge "cosmetics syntax simplification" 2022-10-26 14:58:07 +00:00
Colin Cross
70f60abb28 Fix panic in parser when first token is invalid am: 31c10a12c8
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2265904

Change-Id: I513ffffd28d0deb41be5d4d485e8c8d34027ef4b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-10-22 00:08:37 +00:00
Colin Cross
31c10a12c8 Fix panic in parser when first token is invalid
newParser was calling p.next(), which could trigger a scanner error
that results in a panic.  Move the first p.next() into parse(p), which
correctly converts the paanic into a reportable error.

Bug: 254831383
Test: TestParserError
Change-Id: I2a427010379bb8dd5087550c7f159499cbb84066
2022-10-21 14:38:52 -07:00
MarkDacek
612884822d Add staging mode to soong build. am: c5e959b244
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2261143

Change-Id: I8e5cf66202d86990a367b9ae33acbea72cc67eb9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-10-21 18:05:25 +00:00
MarkDacek
c5e959b244 Add staging mode to soong build.
This is to build bazel targets that are nearing readiness for prod mode.

Bug: 254265047
Test: m nothing
Test: m nothing --bazel-mode-dev
Test: m nothing --bazel-mode-staging
Change-Id: Ie8336ec4ad70c0c9bd6d74f3b0a278c85fd5df2d
2022-10-18 20:35:45 +00:00
Usta Shrestha
63cad2c08f cosmetics syntax simplification
Bug: N/A
Test: m nothing
Change-Id: I9b34635ba145db568e185f795107c202e376f3c7
2022-10-12 01:59:07 +00:00
Lukacs T. Berki
3c2ad7a014 Update README.md . am: ad9fbde7de
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2244814

Change-Id: I2756b539518b67d762a91b37b0b6b61b8c7c0832
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-10-10 10:40:28 +00:00
Lukacs T. Berki
ad9fbde7de Update README.md .
Now that this is not plumbed to GitHub anymore, we can write things
specific to Android here.

Test: documentation change.
Change-Id: I11b65d56fdb519854d083bcf6f9c792cb2f59eb3
2022-10-10 07:06:22 +00:00
usta
790ee79d44 cosmetic: fail fast on empty module list am: 71ce3eae12 am: 9bc4b27cef am: d4cd9e3052 am: c7ea45527d
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2219405

Change-Id: I24e0e361659b4f37f44308c464b30c066bf0c881
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-09-20 07:12:43 +00:00
usta
f0c8db82b6 cleanup: remove deprecated module ioutil am: 83ede83a31 am: b519ebb0b8 am: e08fe2741c am: 8f192e1ca3
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2219404

Change-Id: Iede5690968eba382a28eefa8d6ce2ce81e843399
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-09-20 07:12:34 +00:00
usta
c7ea45527d cosmetic: fail fast on empty module list am: 71ce3eae12 am: 9bc4b27cef am: d4cd9e3052
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2219405

Change-Id: I4a50cd7fb062548a54e4078e7bda89cb79477caa
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-09-20 06:45:48 +00:00
usta
8f192e1ca3 cleanup: remove deprecated module ioutil am: 83ede83a31 am: b519ebb0b8 am: e08fe2741c
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2219404

Change-Id: I63fb045be743c23bda5e33ff5b70174fc83b4c1f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-09-20 06:45:38 +00:00
usta
d4cd9e3052 cosmetic: fail fast on empty module list am: 71ce3eae12 am: 9bc4b27cef
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2219405

Change-Id: I865e00fce3dde4f66deef119623c8dcd44af6eb5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-09-20 06:18:21 +00:00
usta
e08fe2741c cleanup: remove deprecated module ioutil am: 83ede83a31 am: b519ebb0b8
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2219404

Change-Id: Id2b82322eaa417d5f1b4a96d4f6423eddd225251
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-09-20 06:18:12 +00:00
usta
9bc4b27cef cosmetic: fail fast on empty module list am: 71ce3eae12
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2219405

Change-Id: I465597ab21dd852102a3fe09d7c751a6e1530621
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-09-20 05:49:17 +00:00
usta
b519ebb0b8 cleanup: remove deprecated module ioutil am: 83ede83a31
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2219404

Change-Id: I6adaf1e9e0d2af1ba8e0ddd6406276a41010b37d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-09-20 05:49:09 +00:00
usta
71ce3eae12 cosmetic: fail fast on empty module list
also minor refactoring to limit var scopes

Test: m nothing and ensure ninja files are generated
Bug: N/A
Change-Id: If7bdede4e54687955896b03ab11ef771855d2225
2022-09-20 05:15:24 +00:00
usta
83ede83a31 cleanup: remove deprecated module ioutil
Test: m nothing and check bootstrap.ninja and build.ninja file
Bug: N/A
Change-Id: I8c2f2d8cb452955921b2287ec2c621909ebde5e4
2022-09-20 05:13:27 +00:00
Christopher Parsons
eee0919231 Merge "Add bazelmode and bazelmodedev as command args" am: 31ce118f0e am: 2113d66222 am: 59e154aa49 am: 44dae789ba
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2190180

Change-Id: Ibf212867cd8f562039d56127e35e6e5868a33dd7
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-08-30 16:18:45 +00:00
Christopher Parsons
44dae789ba Merge "Add bazelmode and bazelmodedev as command args" am: 31ce118f0e am: 2113d66222 am: 59e154aa49
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2190180

Change-Id: I87ba2f1755d115e7e03a762a6cc170dbb3650e04
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-08-30 15:51:54 +00:00
Christopher Parsons
59e154aa49 Merge "Add bazelmode and bazelmodedev as command args" am: 31ce118f0e am: 2113d66222
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2190180

Change-Id: Ibbd98e261392de8350f755ac59f7ad2491142be0
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-08-30 15:25:17 +00:00
Christopher Parsons
2113d66222 Merge "Add bazelmode and bazelmodedev as command args" am: 31ce118f0e
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2190180

Change-Id: Idba0e94371924382a282fb936f0f901679edd385
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-08-30 14:55:37 +00:00
Christopher Parsons
31ce118f0e Merge "Add bazelmode and bazelmodedev as command args" 2022-08-30 14:29:30 +00:00