Revert "Revert ^2 "Prevent unspecified values in soong_config_st..."
Revert submission 2262062-colefaust_soong_config_string_variable_2nd_try
Reason for revert: breaks builds, b/255996492 among others
Reverted Changes:
I3e2f59e5f:Fix typo
Id3bcd9a46:Revert ^2 "Prevent unspecified values in soong_con...
Change-Id: Ifa8ebb3993bf2c716c3ec3c9fdbe72ba019e77ad
diff --git a/android/soongconfig/modules.go b/android/soongconfig/modules.go
index 8dd9b89..212b752 100644
--- a/android/soongconfig/modules.go
+++ b/android/soongconfig/modules.go
@@ -639,13 +639,9 @@
// Extracts an interface from values containing the properties to apply based on config.
// If config does not match a value with a non-nil property set, the default value will be returned.
func (s *stringVariable) PropertiesToApply(config SoongConfig, values reflect.Value) (interface{}, error) {
- configValue := config.String(s.variable)
- if configValue != "" && !InList(configValue, s.values) {
- return nil, fmt.Errorf("Soong config property %q must be one of %v, found %q", s.variable, s.values, configValue)
- }
for j, v := range s.values {
f := values.Field(j)
- if configValue == v && !f.Elem().IsNil() {
+ if config.String(s.variable) == v && !f.Elem().IsNil() {
return f.Interface(), nil
}
}
@@ -862,13 +858,3 @@
}
var emptyInterfaceType = reflect.TypeOf(emptyInterfaceStruct{}).Field(0).Type
-
-// InList checks if the string belongs to the list
-func InList(s string, list []string) bool {
- for _, s2 := range list {
- if s2 == s {
- return true
- }
- }
- return false
-}