def load_config()

in tools/build-image.py [0:0]


def load_config():
    tools_dir = os.path.dirname(os.path.realpath(__file__))
    # load configs
    config_file = os.path.join(tools_dir, "release-configs.json")
    with open(config_file) as configs:
        try:
            data = json.load(configs)
        except json.JSONDecodeError:
            fail("load config: unexpected json decode failure")

    if "release" not in data:
        fail("load config: release data not found")
    release_meta = data["release"]
    if "version" not in release_meta:
        fail("load config: version data not found in release")
    version = release_meta["version"]
    release_package_name = "apache-yunikorn-{0}-src".format(version)
    if "repositories" not in data:
        fail("load config: repository list not found")
    repo_list = data["repositories"]

    staging_dir = os.path.join(os.path.dirname(tools_dir), "staging")
    release_base = os.path.join(staging_dir, release_package_name)

    print("release meta info:")
    print(" - version:        %s" % version)
    print(" - base directory: %s" % release_base)
    print(" - package name:   %s" % release_package_name)

    if not os.path.exists(release_base):
        fail("Staged release dir does not exist:\n\t%s" % release_base)
    return version, repo_list, release_base