From 0995e853fabd885de17cbe579c645ed219fb6331 Mon Sep 17 00:00:00 2001 From: RandySheriffH <48490400+RandySheriffH@users.noreply.github.com> Date: Thu, 21 Mar 2019 13:44:13 -0700 Subject: [PATCH] Rashuai/unify version (#653) * unify version logic * merge function to build.py * read file to get version * fix path issue * format python * use path join * fix __init__.py * move function to a separate file * remove redundant --- setup.py | 5 ++- tools/python/update_version.py | 82 ++++++++++++++++++++++++++++++++++ 2 files changed, 86 insertions(+), 1 deletion(-) create mode 100755 tools/python/update_version.py diff --git a/setup.py b/setup.py index 7b302e6a48..f7e6d7e6cd 100644 --- a/setup.py +++ b/setup.py @@ -52,11 +52,14 @@ if not path.exists(README): with open(README) as f: long_description = f.read() +version_number = '' +with open('VERSION_NUMBER') as f: + version_number = f.readline().strip() # Setup setup( name=package_name, - version='0.3.0', + version=version_number, description='ONNX Runtime Python bindings', long_description=long_description, author='Microsoft Corporation', diff --git a/tools/python/update_version.py b/tools/python/update_version.py new file mode 100755 index 0000000000..340f66bb2e --- /dev/null +++ b/tools/python/update_version.py @@ -0,0 +1,82 @@ +import os + +def update_version(): + version = '' + cwd = os.path.dirname(os.path.realpath(__file__)) + with open(os.path.join(cwd, '..', '..', 'VERSION_NUMBER')) as f: + version = f.readline().strip() + lines = [] + current_version = '' + file_path = os.path.join(cwd, '..', '..', 'docs', 'Versioning.md') + with open(file_path) as f: + lines = f.readlines() + for line in lines: + if line.startswith('|'): + sections = line.split('|') + if len(sections) == 6 and sections[1].strip()[0].isdigit() : + current_version = sections[1].strip() + break + if version != current_version: + with open(file_path, 'w') as f: + for i,line in enumerate(lines): + f.write(line) + if line.startswith('|--'): + sections = lines[i+1].split('|') + sections[1] = ' ' + version + ' ' + new_line = '|'.join(sections) + f.write(new_line) + lines = [] + current_version = '' + file_path = os.path.join(cwd, '..', '..', 'docs', 'python', 'README.rst') + with open(file_path) as f: + lines = f.readlines() + for line in lines: + sections = line.strip().split('.') + if len(sections) == 3 and sections[0].isdigit() and sections[1].isdigit() and sections[2].isdigit(): + current_version = line.strip() + break + if version != current_version: + inserted = False + with open(file_path,'w') as f: + for line in lines: + sections = line.strip().split('.') + if inserted == False and len(sections) == 3 and sections[0].isdigit() and sections[1].isdigit() and sections[2].isdigit(): + f.write(version + '\n') + f.write('^^^^^\n\n') + inserted = True + f.write(line) + lines = [] + current_version = '' + file_path = os.path.join(cwd, '..', '..', 'package', 'rpm', 'onnxruntime.spec') + with open(file_path) as f: + lines = f.readlines() + for line in lines: + if line.startswith('Version:'): + current_version = line.split(':')[1].strip() + break + if version != current_version: + with open(file_path, 'w') as f: + for line in lines: + if line.startswith('Version:'): + f.write('Version: ' + version + '\n') + continue + f.write(line) + lines = [] + current_version = '' + file_path = os.path.join(cwd, '..', '..', 'onnxruntime', '__init__.py') + with open(file_path) as f: + lines = f.readlines() + for line in lines: + if line.startswith('__version__'): + current_version = line.split('=')[1].strip()[1:-1] + break + if version != current_version: + with open(file_path, 'w') as f: + for line in lines: + if line.startswith('__version__'): + f.write('__version__ = "' + version + '"\n') + continue + f.write(line) + +if __name__ == "__main__": + update_version()