Skip to content

Commit 5d69850

Browse files
author
Chris Elion
authored
add options to set version on files (#2954)
* add options to set version on files * fix precommit
1 parent 1ce70eb commit 5d69850

File tree

2 files changed

+23
-4
lines changed

2 files changed

+23
-4
lines changed

.pre-commit-config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,4 +97,4 @@ repos:
9797
name: validate library versions
9898
language: script
9999
entry: utils/validate_versions.py
100-
files: ".*/setup.py"
100+
files: ".*/__init__.py"

utils/validate_versions.py

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import os
44
import sys
55
from typing import Dict
6+
import argparse
67

78
VERSION_LINE_START = "__version__ = "
89

@@ -37,7 +38,25 @@ def check_versions() -> bool:
3738
return True
3839

3940

41+
def set_version(new_version: str) -> None:
42+
new_contents = f'{VERSION_LINE_START}"{new_version}"\n'
43+
for directory in DIRECTORIES:
44+
path = os.path.join(directory, "__init__.py")
45+
print(f"Setting {path} to version {new_version}")
46+
with open(path, "w") as f:
47+
f.write(new_contents)
48+
49+
4050
if __name__ == "__main__":
41-
ok = check_versions()
42-
return_code = 0 if ok else 1
43-
sys.exit(return_code)
51+
parser = argparse.ArgumentParser()
52+
parser.add_argument("--new-version", default=None)
53+
# unused, but allows precommit to pass filenames
54+
parser.add_argument("files", nargs="*")
55+
args = parser.parse_args()
56+
if args.new_version:
57+
print(f"Updating to verison {args.new_version}")
58+
set_version(args.new_version)
59+
else:
60+
ok = check_versions()
61+
return_code = 0 if ok else 1
62+
sys.exit(return_code)

0 commit comments

Comments
 (0)