Cole Faust
c472e38ec1
Add PostProcessors to configurable properties
...
Some module types currently evaluate configurable properties in load
hooks, modify the results, and pass them onto properties of other
modules. Evaluating configurable properties in load hooks is
problematic, it happens so early that we can't decide the configuration
beforehand.
Add a "post processors" mechanism to configurable properties where
the result of evaluating the property will be passed through a post
processing function before being returned from Get(). This essentially
allows you to modify the property without evaluating it.
Bug: 362579941
Test: m nothing --no-skip-soong-tests
Change-Id: Ibddb3f14b3433364ba474b964c701e8915d4dc85
2024-10-24 19:18:21 +02:00
Cole Faust
738bb54ded
Support variable bindings in selects
...
This allows us to recreate soong config value variables in selects.
This adds a new "any" pattern to selects, which is the same as "default"
except that it doesn't match undefined variables, and it's (currently)
the only pattern that can accept a binding.
The syntax looks like:
```
select(soong_config_variable("my_namespace", "my_variable"), {
any @ my_binding: "foo" + my_binding,
default: "other value",
})
```
Bug: 323382414
Test: m nothing --no-skip-soong-tests
Change-Id: I4feb4073172d8797dee5472f43f9c248a76c3f1f
2024-10-24 19:18:21 +02:00
Cole Faust
1e62c68bfe
Separate blueprint parsing and evaluating
...
Before this cl, blueprint expressions were evaluated as they were
parsed. We want to add a feature to select statements where we can
bind the value of soome value from soong into a blueprint variable,
that then can be used like a regular variable in the .bp file. This
means that select statements need to hold whole unevalated expression
trees, and have the ability to evaluate them later on when the value
of the bound variable is known.
This cl doesn't implement the new select syntax, but it does split
blueprint's parsing and evaluating into two separate stages. We also
store expressions in selects and evaluate them when the select is
resolved.
I didn't do extensive performance evaluation, but a simple comparison
of the time of `touch Android.bp && m nothing` before/after this cl
showed a 1 second speedup. (That was probably just noise)
Bug: 323382414
Test: m nothing --no-skip-soong-tests
Change-Id: I12f373719991afeb4aec76517153f32229d97ff2
2024-10-24 19:18:21 +02:00
Android Build Coastguard Worker
b7e4d26faf
Snap for 11973804 from 6d13ab0b7f
to 24Q3-release
...
Change-Id: I1bef68febc4a150ed123265cc1c388773b1988ae
2024-06-15 01:00:38 +00:00
Cole Faust
6d13ab0b7f
Merge "Add AppendSimpleValue" into main am: 28c638257d
am: ece5b2fba8
...
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3132817
Change-Id: Ib0a0bcd927fa8966d568a768494a7b5f2340c75f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-14 03:13:09 +00:00
Cole Faust
ece5b2fba8
Merge "Add AppendSimpleValue" into main am: 28c638257d
...
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3132817
Change-Id: If69cec69e35ceaedbe1e16d29173a118df79e7b9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-14 03:08:08 +00:00
Cole Faust
28c638257d
Merge "Add AppendSimpleValue" into main
2024-06-14 02:59:29 +00:00
Treehugger Robot
ad07561c07
Merge "Fix extra newline after multiline select case bodies" into main am: a3684d5d61
am: 27a62c91fd
...
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3132292
Change-Id: I2abc6637687769141ee9a2901fc2d5c9ec953a1d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-14 00:04:56 +00:00
Treehugger Robot
27a62c91fd
Merge "Fix extra newline after multiline select case bodies" into main am: a3684d5d61
...
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3132292
Change-Id: Ibde81bfa91b5c1396bed0d55376736c2cbae7d9d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-13 23:42:47 +00:00
Treehugger Robot
a3684d5d61
Merge "Fix extra newline after multiline select case bodies" into main
2024-06-13 23:34:05 +00:00
Cole Faust
63acbad058
Fix extra newline after multiline select case bodies
...
Bug: 346922064
Test: go test
Change-Id: I0587ab04d463a1923440564647d0f1e1bf6d216b
2024-06-13 15:12:04 -07:00
Cole Faust
96cb91fe28
Add AppendSimpleValue
...
This exported function allows soong code to append to configurable
properties.
Bug: 346922064
Test: m nothing --no-skip-soong-tests
Change-Id: Iaadcb1874ef5b972f1eeeb59b317e140ad01c947
2024-06-13 14:50:50 -07:00
Android Build Coastguard Worker
019fec2c06
Snap for 11944020 from e370708d90
to 24Q3-release
...
Change-Id: Id8f31515f0a0f76800a44efdad26c540dc67e4f9
2024-06-08 01:01:01 +00:00
Android Build Coastguard Worker
67b7f16add
Snap for 11938003 from 6b1e8f0178
to 24Q3-release
...
Change-Id: I22904dcad489f93cce8b150f8043272c066bb6e5
2024-06-06 23:00:43 +00:00
Spandan Das
e370708d90
Drop blueprint_package_includes am: 6dd9fcc314
am: 2d4c300b08
...
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3098677
Change-Id: I60b99ec0a41a70d9f5a2c5bdfd692720bfa1fa08
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-06 22:38:49 +00:00
Spandan Das
2d4c300b08
Drop blueprint_package_includes am: 6dd9fcc314
...
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3098677
Change-Id: Id55b67af8c0c5289fb3b9c88bc64ce5bdc7aa125
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-06 22:16:18 +00:00
Spandan Das
6dd9fcc314
Drop blueprint_package_includes
...
This feature can be used to prune Android.bp files from analysis. This
was introduced in `T` to support co-existence of BA and Go apexes. With
the recent changes to apex prebuilt build rules, this pruning is no
longer necessary to support co-existence.
Pruning via PRODUCT_SOURCE_ROOT_DIRS is still supported.
Bug: 308188212
Test: m nothing
Change-Id: I1e1391665963b1ad7cb3837dc67500b69b0833af
2024-06-05 21:52:41 +00:00
Joe Onorato
6b1e8f0178
Handle absolute paths for the ninja shard writing. am: c3ac2a249a
am: 95fe017639
...
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3114568
Change-Id: I4546bf2f7a1e2e7ae003bbb2ef9bc46bd6b2fc5e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-05 20:05:50 +00:00
Joe Onorato
95fe017639
Handle absolute paths for the ninja shard writing. am: c3ac2a249a
...
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3114568
Change-Id: I40720c0c714e36b816f8d3a262e7619f16be6fd5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-05 19:46:53 +00:00
Joe Onorato
c3ac2a249a
Handle absolute paths for the ninja shard writing.
...
Test: OUT_DIR=/source/foo m nothing
Change-Id: Id3849e7446cd0cb26a5b5c74ac3bf4521449b716
2024-06-05 11:25:24 -07:00
Android Build Coastguard Worker
081abe0245
Snap for 11908474 from 810fdd6853
to 24Q3-release
...
Change-Id: I6f85cf70ddcc15ab4699f787a25af95c8b77c0fa
2024-05-30 23:00:51 +00:00
Yu Liu
810fdd6853
Use FNV instead of maphash as the hasher for soong. am: d5133cfc64
am: bbbf3fbbd4
...
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3107009
Change-Id: I2b102de0b010c93bc8225a5078879f6523d920dd
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-30 00:09:35 +00:00
Yu Liu
bbbf3fbbd4
Use FNV instead of maphash as the hasher for soong. am: d5133cfc64
...
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3107009
Change-Id: I2f0c454f7b473af96b1bcef9d6b12426a76e4185
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-29 23:46:12 +00:00
Yu Liu
d5133cfc64
Use FNV instead of maphash as the hasher for soong.
...
This is to support recalculate hash in different proceses.
Bug: 335718784
Test: unit tests and CI
Change-Id: I08909fe0332a7adcfcc158698c5d8ba501116ba2
2024-05-29 22:03:29 +00:00
Android Build Coastguard Worker
f3292cfa77
Snap for 11889377 from c124dbb8e3
to 24Q3-release
...
Change-Id: I6a15e5e55b94457f7ee58dfee406a9f3037b6844
2024-05-25 03:00:24 +00:00
Yu Liu
c124dbb8e3
Merge "Need to catch the errors when closing and flushing." into main am: b83d6420e2
am: a50297d11a
...
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3101377
Change-Id: I0019a46f73f89b510837116b6600ec68138b6a4e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-24 23:25:24 +00:00
Yu Liu
a50297d11a
Merge "Need to catch the errors when closing and flushing." into main am: b83d6420e2
...
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3101377
Change-Id: I050e06ce732a180ff67ae8a4dbb8d33f4a07c21d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-24 23:03:06 +00:00
Yu Liu
b83d6420e2
Merge "Need to catch the errors when closing and flushing." into main
2024-05-24 22:41:19 +00:00
Yu Liu
01a4667ba2
Need to catch the errors when closing and flushing.
...
Bug: 335718784
Test: CI
Change-Id: I6ae984b36ed786d1ccaa67d5c05efd3d6b89504b
2024-05-24 21:37:32 +00:00
Treehugger Robot
46abec2ab1
Merge "Parallelize VerifyProvidersWereUnchanged" into main am: 177fd07327
am: 0e7baaa021
...
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3102364
Change-Id: I2802de3f9cdd3aaca2929193262960d7c862d4ff
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-24 21:01:48 +00:00
Treehugger Robot
0e7baaa021
Merge "Parallelize VerifyProvidersWereUnchanged" into main am: 177fd07327
...
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3102364
Change-Id: I9355bb47213ed7c221b91a8093e72ec105a937b6
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-24 20:46:16 +00:00
Treehugger Robot
177fd07327
Merge "Parallelize VerifyProvidersWereUnchanged" into main
2024-05-24 20:28:27 +00:00
Treehugger Robot
ef6db4c916
Merge "Update go.mod file to go 1.22" into main am: 0c529c480a
am: 09ab534fba
...
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3101710
Change-Id: Ib3ef3c034fbd5e6274a2626c20c0aeaffc88a8ef
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-24 19:45:59 +00:00
Treehugger Robot
09ab534fba
Merge "Update go.mod file to go 1.22" into main am: 0c529c480a
...
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3101710
Change-Id: Ibd2d7d736ea46345854fbdae9576c54de9c7abe9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-24 19:16:02 +00:00
Cole Faust
7b7b1db4a8
Parallelize VerifyProvidersWereUnchanged
...
This makes it faster than the write_files step that it's in parallel
with. It's a ~3 second improvement to soong's runtime on my computer
on aosp main.
I'm not using parallelVisit() this time around, because
VerifyProvidersWereUnchanged is run in parallel with other code
that also uses parallelVisit(), and parallelVisit() modifies
module.waitingCount, so they conflict with each other.
Bug: 335718784
Test: m nothing
Change-Id: I4c6a4c30e2ffc4606faad378f59e003a02826848
2024-05-24 12:10:06 -07:00
Treehugger Robot
0c529c480a
Merge "Update go.mod file to go 1.22" into main
2024-05-24 18:57:09 +00:00
Yu Liu
8f96f0ee2e
Merge "Pass the parameters to goroutine to avoid relying on a go 1.22 fix." into main am: da55eb2a45
am: 5bc84bebd3
...
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3102363
Change-Id: I9eb1e9bcb0fd424d37d567464a7c8c76ce58ce96
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-24 18:50:53 +00:00
Yu Liu
5bc84bebd3
Merge "Pass the parameters to goroutine to avoid relying on a go 1.22 fix." into main am: da55eb2a45
...
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3102363
Change-Id: I84d282574447f97d5d84d38f1a7744dcf40f9d68
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-24 18:31:55 +00:00
Yu Liu
da55eb2a45
Merge "Pass the parameters to goroutine to avoid relying on a go 1.22 fix." into main
2024-05-24 18:05:25 +00:00
Yu Liu
a99fc848a4
Pass the parameters to goroutine to avoid relying on a go 1.22 fix.
...
Bug: 335718784
Test: CI
Change-Id: Iae55e59a58101bc373666455ae4f2b6146c1abca
2024-05-24 16:45:50 +00:00
Priyanka Advani
b26be9398c
Merge "Revert "Parallelize VerifyProvidersWereUnchanged"" into main am: 6daa49ee97
am: c3b4357792
...
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3101711
Change-Id: I0c17b4d23784eda583eca22f33d441b402d94763
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-24 00:45:40 +00:00
Priyanka Advani
c3b4357792
Merge "Revert "Parallelize VerifyProvidersWereUnchanged"" into main am: 6daa49ee97
...
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3101711
Change-Id: I67ad62338b2cb429c6390e8b9451766a5a38b1dc
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-24 00:27:50 +00:00
Priyanka Advani
6daa49ee97
Merge "Revert "Parallelize VerifyProvidersWereUnchanged"" into main
2024-05-24 00:05:46 +00:00
Priyanka Advani
533959eb27
Revert "Parallelize VerifyProvidersWereUnchanged"
...
This reverts commit 2071d15a29
.
Reason for revert: Droidmonitor triggered revert due to b/342483801.
Change-Id: Ib892a3b17a5fcefb40d316e9dce9d5432293ec25
2024-05-23 23:55:27 +00:00
Treehugger Robot
16414eabe9
Merge "Parallelize VerifyProvidersWereUnchanged" into main am: f887364cd2
am: c2a120dd82
...
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3101706
Change-Id: I6899c0534da4b03ebf22185fac2e723ffc1326e2
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-23 23:50:59 +00:00
Treehugger Robot
c2a120dd82
Merge "Parallelize VerifyProvidersWereUnchanged" into main am: f887364cd2
...
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3101706
Change-Id: I3d7dfc9a9568ea4de2f265839f8e7888815c0931
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-23 23:32:10 +00:00
Cole Faust
a3a125aaf2
Update go.mod file to go 1.22
...
Bug: 330574836
Test: Presubmits
Change-Id: I871cabd7aa403b315d5efcf75f5eff6df492478f
2024-05-23 16:26:02 -07:00
Treehugger Robot
f887364cd2
Merge "Parallelize VerifyProvidersWereUnchanged" into main
2024-05-23 23:12:56 +00:00
Cole Faust
550d2d018b
Merge "Revert "Bump go.mod file to go 1.22"" into main am: 239c43a66c
am: d56bf5bf3e
...
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3102358
Change-Id: I9bec82c3b5dcfda83f6df954c3c373e46237fcd2
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-23 23:06:50 +00:00
Android Build Coastguard Worker
ef3994aeac
Snap for 11881322 from 197f763242
to 24Q3-release
...
Change-Id: I8ad33c3c017acf5ee9944aca9887eada257cd44f
2024-05-23 23:00:47 +00:00