diff options
author | 2024-04-11 17:43:00 -0700 | |
---|---|---|
committer | 2024-05-02 15:41:24 -0700 | |
commit | a963b94cde194257fa67ce9596026a4da2fe7523 (patch) | |
tree | 8bffbc8bdaa97f5bb57f533422623b62287f1326 /android/configurable_properties.go | |
parent | 01bd5b1ddf0706ecb683f1fc70bf1d11028e7591 (diff) |
Make the enabled property configurable
This allows using select statements with it.
Bug: 323382414
Test: m nothing --no-skip-soong-tests
Change-Id: I6f3efaaa3d82505e38a91ee4ba0e18e404360191
Merged-In: If355d24506e3f117d27b21442a6c02bca3402dc7
Diffstat (limited to 'android/configurable_properties.go')
-rw-r--r-- | android/configurable_properties.go | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/android/configurable_properties.go b/android/configurable_properties.go new file mode 100644 index 000000000..dad42fa1d --- /dev/null +++ b/android/configurable_properties.go @@ -0,0 +1,28 @@ +package android + +import "github.com/google/blueprint/proptools" + +// CreateSelectOsToBool is a utility function that makes it easy to create a +// Configurable property value that maps from os to a bool. Use an empty string +// to indicate a "default" case. +func CreateSelectOsToBool(cases map[string]*bool) proptools.Configurable[bool] { + var resultCases []proptools.ConfigurableCase[bool] + for pattern, value := range cases { + if pattern == "" { + resultCases = append(resultCases, proptools.NewConfigurableCase( + []proptools.ConfigurablePattern{proptools.NewDefaultConfigurablePattern()}, + value, + )) + } else { + resultCases = append(resultCases, proptools.NewConfigurableCase( + []proptools.ConfigurablePattern{proptools.NewStringConfigurablePattern(pattern)}, + value, + )) + } + } + + return proptools.NewConfigurable( + []proptools.ConfigurableCondition{proptools.NewConfigurableCondition("os", nil)}, + resultCases, + ) +} |