yaml parsing: script build flags can now be lists

This commit is contained in:
Michael Pöhn 2018-11-14 13:42:05 +01:00
parent c15a7508e7
commit 31ca2092a1
2 changed files with 70 additions and 8 deletions

View file

@ -1091,14 +1091,23 @@ def parse_yaml_metadata(mf, app):
_("Unrecognised build flag '{build_flag}' "
"in '{path}'").format(build_flag=build_flag,
path=mf.name))
if 'prebuild' in build and type(build['prebuild']) == list:
build['prebuild'] = ' && '.join(build['prebuild'])
post_parse_yaml_metadata(yamldata)
app.update(yamldata)
return app
def post_parse_yaml_metadata(yamldata):
"""transform yaml metadata to our internal data format"""
for build in yamldata.get('Builds', []):
for flag in build.keys():
_flagtype = flagtype(flag)
# concatenate script flags into a single string if they are stored as list
if _flagtype is TYPE_SCRIPT:
if isinstance(build[flag], list):
build[flag] = ' && '.join(build[flag])
def write_yaml(mf, app):
"""Write metadata in yaml format.