mirror of
https://github.com/pandas-dev/pandas.git
synced 2026-05-30 01:03:43 +08:00
Co-authored-by: Devpriya Dave <devpriyadave@gatech.edu> Co-authored-by: Joris Van den Bossche <jorisvandenbossche@gmail.com>
70 lines
1.7 KiB
Python
70 lines
1.7 KiB
Python
#!/usr/bin/env python3
|
|
|
|
# Note: This file has to live next to meson.build or versioneer will not work
|
|
import argparse
|
|
import os
|
|
import sys
|
|
|
|
import versioneer
|
|
|
|
sys.path.insert(0, "")
|
|
|
|
|
|
def write_version_info(path) -> None:
|
|
version = None
|
|
git_version = None
|
|
|
|
try:
|
|
import _version_meson
|
|
|
|
version = _version_meson.__version__
|
|
git_version = _version_meson.__git_version__
|
|
except ImportError:
|
|
version = versioneer.get_version()
|
|
git_version = versioneer.get_versions()["full-revisionid"]
|
|
if os.environ.get("MESON_DIST_ROOT"):
|
|
path = os.path.join(os.environ.get("MESON_DIST_ROOT"), path)
|
|
with open(path, "w", encoding="utf-8") as file:
|
|
file.write(f'__version__="{version}"\n')
|
|
file.write(f'__git_version__="{git_version}"\n')
|
|
|
|
|
|
def main() -> None:
|
|
parser = argparse.ArgumentParser()
|
|
parser.add_argument(
|
|
"-o",
|
|
"--outfile",
|
|
type=str,
|
|
help="Path to write version info to",
|
|
required=False,
|
|
)
|
|
parser.add_argument(
|
|
"--print",
|
|
default=False,
|
|
action="store_true",
|
|
help="Whether to print out the version",
|
|
required=False,
|
|
)
|
|
args = parser.parse_args()
|
|
|
|
if args.outfile:
|
|
if not args.outfile.endswith(".py"):
|
|
raise ValueError(
|
|
f"Output file must be a Python file. "
|
|
f"Got: {args.outfile} as filename instead"
|
|
)
|
|
|
|
write_version_info(args.outfile)
|
|
|
|
if args.print:
|
|
try:
|
|
import _version_meson
|
|
|
|
version = _version_meson.__version__
|
|
except ImportError:
|
|
version = versioneer.get_version()
|
|
print(version)
|
|
|
|
|
|
main()
|