""" module providing useful filesystem paths """ import pathlib import sys import os _this_file = pathlib.Path(__file__).resolve() try: workspace_dir = pathlib.Path(os.environ['BUILD_WORKSPACE_DIRECTORY']).resolve() # <- means we are using bazel run root_dir = workspace_dir / 'swift' except KeyError: root_dir = _this_file.parents[2] workspace_dir = root_dir.parent lib_dir = _this_file.parents[2] / 'codegen' / 'lib' templates_dir = _this_file.parents[2] / 'codegen' / 'templates' exe_file = pathlib.Path(sys.argv[0]).resolve()