#!/usr/bin/env python
import os
import sys
import textwrap

import setuptools_scm


def main(root, expected_version):
    # type: (str, str) -> None
    version = setuptools_scm.get_version(root)
    if version != expected_version:
        sys.stderr.write("Version {!r} does not match expected {!r}\r\n".format(version, expected_version))
        sys.exit(1)

    sys.stdout.write("Version {!r} is correct\r\n".format(version))


if __name__ == "__main__":
    if len(sys.argv) != 2:
        sys.stderr.write(
            textwrap.dedent(
                """
        Usage: {0} EXPECTED-VERSION
        Examples:
          {0} \"0.48.0\"
          {0} \"0.48.0rc3\"
          {0} \"0.48.0rc3.dev64+g8c11ad89.d20210419\"
        """.format(
                    sys.argv[0]
                )
            )
        )
        sys.exit(1)

    root = os.path.abspath(os.path.join(__file__, "../../"))
    main(root, sys.argv[1])
