| # Copyright lowRISC contributors. |
| # Licensed under the Apache License, Version 2.0, see LICENSE for details. |
| # SPDX-License-Identifier: Apache-2.0 |
| r"""Standard version printing |
| """ |
| import os |
| import subprocess |
| import sys |
| from typing import List |
| |
| import pkg_resources # part of setuptools |
| |
| |
| def show_and_exit(clitool: str, packages: List[str]) -> None: |
| util_path = os.path.dirname(os.path.realpath(clitool)) |
| os.chdir(util_path) |
| ver = subprocess.run( |
| ["git", "describe", "--always", "--dirty", "--broken"], |
| stdout=subprocess.PIPE).stdout.strip().decode('ascii') |
| if (ver == ''): |
| ver = 'not found (not in Git repository?)' |
| sys.stderr.write(clitool + " Git version " + ver + '\n') |
| for p in packages: |
| sys.stderr.write(p + ' ' + pkg_resources.require(p)[0].version + '\n') |
| exit(0) |