Commit graph

3168 commits

Author SHA1 Message Date
Cole Faust
f764ab9f16 Revert "Bump go.mod file to go 1.22"
This reverts commit 65b6f3cb23.

Reason for revert: breaks build-tools build

Change-Id: Ib3dbaa57d871796024a0f88569f1ad933ddf4f76
2024-05-23 22:22:56 +00:00
Cole Faust
2071d15a29 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.

Bug: 335718784
Test: m nothing
Change-Id: I9dc9bd9c4cb80e61f880531dbb661c971298607c
2024-05-23 15:09:36 -07:00
Treehugger Robot
38c3df4163 Merge "Preserve type when promoting non-selects to selects" into main am: 077df5875e am: 73d1cbd561
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3097679

Change-Id: I0e41b9ff11656353ce37077b98ee82fe2ce0363a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-23 20:21:24 +00:00
Cole Faust
422216a895 Bump go.mod file to go 1.22 am: 65b6f3cb23 am: 9d33cc631a
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3101378

Change-Id: Iec730dc082f72395a2c7eb4bca4748cbf5e7ea16
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-23 20:21:07 +00:00
Treehugger Robot
73d1cbd561 Merge "Preserve type when promoting non-selects to selects" into main am: 077df5875e
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3097679

Change-Id: Icd9ac9eb41485689c07331c15f97d38b6e9052c6
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-23 19:51:43 +00:00
Cole Faust
9d33cc631a Bump go.mod file to go 1.22 am: 65b6f3cb23
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3101378

Change-Id: I213b55f730196ae43f15be4f486c0f24cddd93fb
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-23 19:51:26 +00:00
Treehugger Robot
077df5875e Merge "Preserve type when promoting non-selects to selects" into main 2024-05-23 19:50:12 +00:00
Cole Faust
65b6f3cb23 Bump go.mod file to go 1.22
Blueprint bootstraps itself, go 1.22 will be used, but if you used
go build or go test manually, the version in the go.mod will be used.

Go 1.22 has a subtle change that we want to make sure we're always
using: https://go.dev/blog/loopvar-preview

Test: Presubmits
Change-Id: I192dbcba16f431458dfb758c505a63027cdb2533
2024-05-23 11:27:22 -07:00
Cole Faust
197f763242 Merge "Add proptools.PrintfIntoConfigurable" into main am: 0673769aab am: 92af9ae3a0
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3097740

Change-Id: Iad72bfadc85deb6ca252c71616106842a5707a66
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-23 00:36:38 +00:00
Cole Faust
92af9ae3a0 Merge "Add proptools.PrintfIntoConfigurable" into main am: 0673769aab
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3097740

Change-Id: I44959c5ec9c8923be02779896ce4e1fca027519a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-23 00:18:50 +00:00
Cole Faust
0673769aab Merge "Add proptools.PrintfIntoConfigurable" into main 2024-05-22 23:58:50 +00:00
Android Build Coastguard Worker
cd2120d128 Snap for 11876238 from 35d0080add to 24Q3-release
Change-Id: Ifef1978eeaa10a16050f5d318fb5bc73c1956e14
2024-05-22 23:01:14 +00:00
Cole Faust
9ffb480975 Add proptools.PrintfIntoConfigurable
This will be used by soong config value variables to support their
usage on configurable properties.

Bug: 323382414
Test: m nothing --no-skip-soong-tests
Change-Id: I20b8ef29e81512548ecdc056533700a30fa7815a
2024-05-22 14:32:24 -07:00
Cole Faust
86a7abd927 Preserve type when promoting non-selects to selects
Bug: 323382414
Test: m nothing --no-skip-soong-tests
Change-Id: I1ad7e891f5422bb3587ebac1f8bda7dd5792ae3b
2024-05-22 13:40:57 -07:00
Cole Faust
d2eb148b3d Merge "Fix error message when a select condition isn't handled" into main am: 65e5724978 am: 1a1d4c2563
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3081146

Change-Id: Ic98f98dd4724e896c1fd04c78d6077a73993074a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-22 19:26:02 +00:00
Cole Faust
1a1d4c2563 Merge "Fix error message when a select condition isn't handled" into main am: 65e5724978
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3081146

Change-Id: Ia827c50d164b9830250909286a20af4519a3641e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-22 19:07:56 +00:00
Cole Faust
65e5724978 Merge "Fix error message when a select condition isn't handled" into main 2024-05-22 18:51:10 +00:00
Cole Faust
35d0080add Return an Optional[T] from Configurable.Get() am: ad00dd50bf am: e7f9f4767f
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3096320

Change-Id: If91b92bc25b6100d282caffb19888bdcfa412eaa
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-22 00:37:24 +00:00
Cole Faust
e7f9f4767f Return an Optional[T] from Configurable.Get() am: ad00dd50bf
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3096320

Change-Id: Iafb05fe838f211786feb58133250c1a0babb54bd
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-22 00:17:48 +00:00
Cole Faust
ad00dd50bf Return an Optional[T] from Configurable.Get()
Previously, Configurable.Get() copied the value in the property,
because it needed to return a pointer in order to indicate whether
the property was set or not. Now, it returns a ConfigurableOptional[T],
which is the same as the pointer, but it prevents users from altering
the pointed-to value, so we don't need to copy it.

There are still copies for slice properties, because those are also
pointers. In the future we may want to consider making an ImmutableList
type to use instead.

Bug: 323382414
Test: m nothing --no-skip-soong-tests
Change-Id: Ic9ed5ba269d10158e3eac1fea272555c9fa5c0e8
2024-05-21 14:48:39 -07:00
Yu Liu
3236caaa4b Write ninja file in parallel. am: 82e444710d am: 5a10541bf4
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3089605

Change-Id: I73e047001fa210f58637a94aadd3a3ff5bb866b1
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-21 17:53:04 +00:00
Yu Liu
5a10541bf4 Write ninja file in parallel. am: 82e444710d
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3089605

Change-Id: Idd9fb71acf65e952fd7a24094cd2f86f80fe25e5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-21 17:35:19 +00:00
Yu Liu
82e444710d Write ninja file in parallel.
Bug: 335718784
Test: CI
Change-Id: I26f7babca349c654780711cfe0f0ece3faa5f436
2024-05-20 21:46:19 +00:00
Android Build Coastguard Worker
c2d414e108 Snap for 11828632 from 1c2fe5ef19 to 24Q3-release
Change-Id: I6aece9caaf9dae50f75d069e98b70ac0b31fd612
2024-05-11 01:00:54 +00:00
Colin Cross
1c2fe5ef19 Merge "Handle nil variant in applyTransitions" into main am: 515e7991fc am: 1b25a60ba0
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3080846

Change-Id: I20e30b5a665e13473be060a110de7a9e7e0d4e95
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-09 23:06:15 +00:00
Android Build Coastguard Worker
31d8fe07e7 Snap for 11822896 from 0ad5367b36 to 24Q3-release
Change-Id: I5ea45aed2134d1a000d8916b5c34717cf92b4f53
2024-05-09 23:05:27 +00:00
Cole Faust
fa652f4714 Fix error message when a select condition isn't handled
Preivously it attempted to print all conditions and their values,
but that doesn't tell you which one was wrong, and the formatting was
all weird due to trying to print complex go types.

Bug: 323382414
Test: m nothing --no-skip-soong-tests
Change-Id: If9653796f5e9139c0b4a7843b441eb0409967b55
2024-05-09 15:50:50 -07:00
Colin Cross
1b25a60ba0 Merge "Handle nil variant in applyTransitions" into main am: 515e7991fc
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3080846

Change-Id: Ia353694df8a7a48c0ffc5bde48162d83338fae7d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-09 22:44:30 +00:00
Colin Cross
515e7991fc Merge "Handle nil variant in applyTransitions" into main 2024-05-09 22:15:46 +00:00
Treehugger Robot
0ad5367b36 Merge "Create embedcfg directory before writing the file" into main am: 0bc93e1a92 am: cbb04e8e9b
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3081524

Change-Id: I669bf19e6b39fb84ce8dbbd7f90ee42e417daebd
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-09 17:56:18 +00:00
Colin Cross
eb077c3123 Handle nil variant in applyTransitions
The input variationMap in applyTransitions may be nil, initialize
it if necessary.

Bug: 319288033
Test: TestPostTransitionDeps
Flag: NONE
Change-Id: I091aa5a04732fdf18931b2534c4c479152c2a9e1
2024-05-09 10:51:20 -07:00
Treehugger Robot
cbb04e8e9b Merge "Create embedcfg directory before writing the file" into main am: 0bc93e1a92
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3081524

Change-Id: Ia75d0dc847b59aaf672c33f8a3ff1e56d5e3568f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-09 17:32:27 +00:00
Treehugger Robot
0bc93e1a92 Merge "Create embedcfg directory before writing the file" into main 2024-05-09 16:42:08 +00:00
Tomasz Wasilczyk
2fbe882aa8 Create embedcfg directory before writing the file
Bug: 302718225
Test: rm -rf out/ && m out/host/linux-x86/bin/go/soong-cc/pkg/android/soong/cc.a
Change-Id: I206f4e0f83fae6a8c6b69c648d23a8c6d1f51477
2024-05-09 07:27:58 -07:00
Colin Cross
82bface36f Merge changes I648ef95f,Iadb72a5a,Ib073f6ec into main am: 5bc2b73593 am: ebe84d80ed
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3078206

Change-Id: Iedf5ec5a943ae0a7f18b86ca600a53ce4dfbd83f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-09 01:08:49 +00:00
Colin Cross
ebe84d80ed Merge changes I648ef95f,Iadb72a5a,Ib073f6ec into main am: 5bc2b73593
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3078206

Change-Id: I2a34b0e83b04637efd60ad07e907b112bea83c05
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-09 00:44:33 +00:00
Colin Cross
5bc2b73593 Merge changes I648ef95f,Iadb72a5a,Ib073f6ec into main
* changes:
  Don't sort the results of TransitionMutator.Split
  Apply outgoing transitions when adding dependencies
  Delete transition variation when no matching variant was found
2024-05-08 23:43:56 +00:00
Colin Cross
c5b3c0ca9e Don't sort the results of TransitionMutator.Split
The ordering of variants can be significant  when adding
inter-variant dependencies, as a variant can only depend on earlier
variants.  Allow maintaining the existing variant ordering when
converting mutators to TransitionMutator by keeping the ordering
of TransitionMutator.Split.  Variations that were requested by
incoming dependencies that are not present in Split are still
sorted, as they have no inherent ordering.

Bug: 319288033
Test: TestPostTransitionDeps
Flag: NONE
Change-Id: I648ef95f08a05f9a64ce97e6a39bae10ce88771a
2024-05-08 15:22:27 -07:00
Colin Cross
5ac6648829 Apply outgoing transitions when adding dependencies
TransitionMutators can always return "" from OutgoingVariation in
order to implement the equivalent of CreateLocalVariations - a
variation that doesn't affect which variation of dependencies is
selected.  The same need applies when creating the dependency after
the TransitionMutator.  Call OutgoingVariation on the parent module
when adding new dependencies unless the variation was explicitly
requested.

Bug: 319288033
Test: TestPostTransitionDeps
Flag: NONE
Change-Id: Iadb72a5a3f19579a6c1d34e3c7169ee9e2b53210
2024-05-08 15:22:21 -07:00
Android Build Coastguard Worker
7f2cad61da Snap for 11811809 from 2a0e76d28e to 24Q3-release
Change-Id: Idd00c73ef80ee58c3d209ebfac34fb45fd4f4b90
2024-05-07 23:01:06 +00:00
Colin Cross
02aa24823e Delete transition variation when no matching variant was found
TransitionMutators sometimes apply to one variant of a module but
not to another.  Deleting the variation when all variants were
untouched is insufficient if a post-mutator dependency is being added
on a variant that was untouched.  Delete the variation whenever
no matching incoming variant was found.

Bug: 319288033
Test: TestPostTransitionDeps
Flag: NONE
Change-Id: Ib073f6ec3090d09e4798b6f9ca3061ec5d58d722
2024-05-07 14:36:48 -07:00
Cole Faust
2a0e76d28e Merge "Support generating docs for Configurable properties" into main am: 0a1533d786 am: 7b12605468
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3076047

Change-Id: I80e49d5bbe3779924b04b98ea248d50eb1b8ac1a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-07 00:10:26 +00:00
Cole Faust
7b12605468 Merge "Support generating docs for Configurable properties" into main am: 0a1533d786
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3076047

Change-Id: Ie8ad757f8545ef53a13bf0bfdebbd8e496b4ce5c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-06 23:50:48 +00:00
Cole Faust
0a1533d786 Merge "Support generating docs for Configurable properties" into main 2024-05-06 23:28:57 +00:00
Cole Faust
b9ff002303 Support generating docs for Configurable properties
Bug: 323382414
Test: m nothing --no-skip-soong-tests
Change-Id: I6e8a03c5785dbc3a90f458155dc4b9cd6ce7700b
2024-05-06 15:14:17 -07:00
Android Build Coastguard Worker
c64b561c9c Snap for 11800966 from 4320a271eb to 24Q3-release
Change-Id: I362543f62a5c8790d8d5cd39edefbdc9c73cf8f8
2024-05-04 01:00:56 +00:00
Colin Cross
4320a271eb Change semantics of ReplaceDependencies[If] am: 38b56e136f am: 8bccb1787b
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3070727

Change-Id: I7625d7722b60acb0001d8efa55e8d036d9176b33
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-02 23:37:12 +00:00
Colin Cross
b72794b452 Ignore dependency variations for TransitionMutators that didn't apply am: de024f6167 am: 8268cb1c6a
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3070726

Change-Id: Ia650ecf5525769f647e54f5f776cc855301555fa
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-02 23:37:07 +00:00
Colin Cross
489130363e Rename TransitionMutator top down mutator am: 9f260255f2 am: e9e2e949a1
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3070725

Change-Id: Ic710ba5cf102cdd09be6f7c1b2cc8c8dde0672e4
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-02 23:37:02 +00:00
Colin Cross
8bccb1787b Change semantics of ReplaceDependencies[If] am: 38b56e136f
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3070727

Change-Id: I35153d9ab150b22c4a402e6736b26322347bbbdd
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-02 23:16:15 +00:00