#!/usr/bin/env python
#
# dx-yml-build: transcodes dxapp.yml to dxapp.json and then runs `dx build`
# with command-line arguments passed through.
#
# Requires PyYAML (apt-get install python-yaml OR pip install pyyaml)

import os, sys, shutil
import yaml, json

app_yaml_path=sys.argv[1]
app_basename=os.path.splitext(os.path.basename(app_yaml_path))[0]

output_json_filename=app_basename+'.json'

with open(app_yaml_path) as infile:
    data = yaml.load(infile)
    data["00COMMENT"] = "This {}.json has been generated from {} automatically using dx-yml-build".format(app_basename,app_yaml_path)
    with open(output_json_filename, 'w') as outfile:
        json.dump(data, outfile, sort_keys=True, indent=2)
        outfile.write('\n')

shutil.copy2(output_json_filename,"dxapp.json")
os.execvp("dx", ["dx", "build"] + sys.argv[2:])
