def _verify_manifest_formatting()

in appengine/runtime_builders/verify_manifest.py [0:0]


def _verify_manifest_formatting(manifest):
    try:
        if 'schema_version' not in manifest:
            logging.error('Manifest does not contain schema_version!')
            sys.exit(1)
        for key, val in manifest.get('runtimes').iteritems():
            file = val.get('target').get('file', '')
            if not file:
                continue
            if file.startswith('gs://'):
                logging.error('Builder file {0} should NOT be prefixed with '
                              'GCS bucket prefix or bucket name!'.format(file))
                sys.exit(1)
            file = builder_util.RUNTIME_BUCKET_PREFIX + file
            if not builder_util.file_exists(file):
                logging.error('File {0} not found in GCS!'
                              .format(file))
                sys.exit(1)

    except KeyError as ke:
        logging.error('Error encountered when verifying manifest: %s', ke)
        sys.exit(1)