platform_build_blueprint/proptools
Cole Faust 3311debbb3 Support multi-variable selects and typed selects
This adds support for selecting on multiple variables at once, so that
you can do AND/OR combindations of them. For example:

select((
    arch(),
    os(),
), {
    ("arm64", "linux"): ["libfoo64"],
    (default, "linux"): ["libfoo"],
    (default, "windows"): ["libfoowindows"],
    (default, default): ["libbar"],
})

It also allows for select conditions to be boolean-typed. You can
write literal true and false without quotes to select on them. Currently
we don't have any boolean-typed variables though, so a fake one was
added for testing.

Bug: 323382414
Test: m nothing --no-skip-soong-tests
Change-Id: Ibe586e7b21865b8734027848cc421594cbd1d8cc
2024-04-12 16:33:01 -07:00
..
clone.go Select statements 2024-03-06 15:00:39 -08:00
clone_test.go Fix TestCloneProperties for go 1.21 2023-11-08 22:07:58 -08:00
configurable.go Support multi-variable selects and typed selects 2024-04-12 16:33:01 -07:00
escape.go Use maps and slices packages 2024-04-01 15:54:22 -07:00
escape_test.go Use maps and slices packages 2024-04-01 15:54:22 -07:00
extend.go Add android:replace_instead_of_append 2024-04-04 14:35:18 -07:00
extend_test.go Support multi-variable selects and typed selects 2024-04-12 16:33:01 -07:00
filter.go Don't recurse into configurable properties in filterPropertyStructFields 2024-03-26 16:46:48 -07:00
filter_test.go Always shard structs if they would exceed maxNameSize even if unfiltered 2021-03-26 09:59:19 +00:00
hash_provider.go Use WriteString in hashProviderInternal 2024-02-02 15:57:26 -08:00
hash_provider_test.go Enforce that providers are not changed 2024-01-30 15:18:24 -08:00
proptools.go Add proptools.Slice 2024-03-14 14:28:52 -07:00
proptools_test.go Select statements 2024-03-06 15:00:39 -08:00
tag.go Select statements 2024-03-06 15:00:39 -08:00
tag_test.go propertyIndexesWithTag can handle slice of struct 2021-02-24 01:02:59 +09:00
typeequal.go Support nil pointers to structs in properties 2016-08-05 17:19:36 -07:00
typeequal_test.go Support nil pointers to structs in properties 2016-08-05 17:19:36 -07:00
unpack.go Support multi-variable selects and typed selects 2024-04-12 16:33:01 -07:00
unpack_test.go Support multi-variable selects and typed selects 2024-04-12 16:33:01 -07:00