def read_manifest()

in manifest-verifier/verify_manifest.py [0:0]


def read_manifest():
    dict = {}

    # Read YML file
    path_manifest = os.path.join(REPO_PATH, 'manifest.yml')
    assert os.path.exists(path_manifest), 'Missing manifest.yml'
    with open(path_manifest, 'r') as fp:
        manifest_data = fp.read()
    yml = load(manifest_data, Loader=Loader)
    assert 'dependencies' in yml, 'Manifest YML parsing error'

    # Iterate over all the "dependencies" entries, verify that
    # each contains entries for the following hierarchy:
    # name: "<library-name>"
    # version: "<version>"
    # repository:
    #   type: "git"
    #   url: <library-github-url>
    #   path: <path-to-submodule-in-repository>
    #
    for dep in yml['dependencies']:
        assert 'version' in dep, "Failed to parse 'version/tag' for submodule"
        assert 'repository' in dep and 'path' in dep['repository'] and 'url' in dep['repository'], "Failed to parse 'repository' object for submodule"
        dict[dep['name']] = (dep['repository']['path'], dep['version'])

    return dict