soong_config: bool_variables shortcut

Using a lot of boolean variables can become very verbose without adding
really any new information:

      variables: ["a", "b", "c"],
  }

  soong_config_bool_variable {
      name: "a",
  }

  soong_config_bool_variable {
      name: "b",
  }

  soong_config_bool_variable {
      name: "c",
  }

Now turns into:

      bool_variables: ["a", "b", "c"],
  }

Test: built-in tests
Change-Id: If5455a38433431c7ecbce1e5b32cfbb47f42602a
This commit is contained in:
Dan Willemsen
2020-03-23 19:39:34 -07:00
parent b358ebb759
commit 2b8b89cfa2
6 changed files with 163 additions and 20 deletions

View File

@@ -109,6 +109,9 @@ type ModuleTypeProperties struct {
// the list of SOONG_CONFIG variables that this module type will read
Variables []string
// the list of boolean SOONG_CONFIG variables that this module type will read
Bool_variables []string
// the list of properties that this module type will extend.
Properties []string
}
@@ -146,6 +149,18 @@ func processModuleTypeDef(v *SoongConfigDefinition, def *parser.Module) (errs []
}
v.ModuleTypes[props.Name] = mt
for _, name := range props.Bool_variables {
if name == "" {
return []error{fmt.Errorf("bool_variable name must not be blank")}
}
mt.Variables = append(mt.Variables, &boolVariable{
baseVariable: baseVariable{
variable: name,
},
})
}
return nil
}