#!/usr/bin/env python3 """Print the FDS version derived from release tags or a Git source export.""" import argparse import subprocess from pathlib import Path from fds_version import ROOT, cargo, version parser = argparse.ArgumentParser(description=__doc__) parser.add_argument('--root', type=Path, default=ROOT) parser.add_argument('--cargo', action='store_true', help='emit Cargo build metadata and change tracking') args = parser.parse_args() try: if args.cargo: cargo(args.root.resolve()) else: print(version(args.root)) except (OSError, ValueError, subprocess.CalledProcessError) as error: parser.exit(1, f'Cannot determine FDS version: {error}\n')