in appengine/runtime_builders/template_builder.py [0:0]
def _resolve_and_publish(config_file, bucket):
try:
gcs_paths = []
with open(config_file, 'r') as f:
if 'yaml' not in config_file:
logging.error('Please provide a valid yaml config file.')
sys.exit(1)
project_cfg = yaml.round_trip_load(f, preserve_quotes=True)
project_name = project_cfg['project']
for builder in project_cfg['builders']:
cfg = os.path.abspath(str(builder['file']))
name = builder['name']
builder_name = project_name + '-' + name
templated_file = _resolve_tags(cfg)
logging.info(templated_file)
gcs_paths.append(_publish_to_gcs(templated_file,
builder_name,
bucket))
logging.info('Published Runtimes:')
logging.info(gcs_paths)
except ValueError as ve:
logging.error('Error when parsing config! Check file formatting. \n{0}'
.format(ve))
except KeyError as ke:
logging.error('Config file is missing required field! \n{0}'
.format(ke))