onnxruntime/tools/python/update_version.py
Yulong Wang 009f342caf
[JS] refactor Javascript/Typescript libraries in ONNX Runtime (#7308)
* working on re-organizing js code for ortweb

* remove dup files

* move folder

* fix common references

* fix common es5

* add webpack to common

* split interfact/impl

* use cjs for node

* add npmignore for common

* update sourcemap config for common

* update node

* adjust folder/path in CI and build

* update folder

* nit: readme

* add bundle for dev

* correct nodejs paths

* enable ORT_API_MANUAL_INIT

* set name for umd library

* correct name for commonjs export

* add priority into registerBackend()

* fix npm ci pwd

* update eslintrc

* revise code

* revert package-lock lockfileVersion 2->1

* update prebuild

* resolve comments

* update document

* revise eslint config

* update eslint for typescript rules

* revert changes by mistake in backend.ts

* add env

* resolve comments
2021-04-16 01:33:10 -07:00

111 lines
4.4 KiB
Python
Executable file

import os
import json
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) == 8 and sections[1].strip()[0].isdigit():
current_version = sections[1].strip()
break
print('Current version of ORT seems to be: ' + current_version)
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('|')
# Make sure there are no 'False Positive' version additions
# by making sure the line we are building a new line from
# contains the current_version
if len(sections) > 1 and sections[1].strip() == current_version:
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 is 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')
f.write('Release Notes : https://github.com/Microsoft/onnxruntime/releases/tag/v'
+ version.strip() + '\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)
# update version for NPM packages
current_version = ''
js_root = os.path.join(cwd, '..', '..', 'js')
file_paths = [
os.path.join(js_root, 'common', 'package.json'),
os.path.join(js_root, 'common', 'package-lock.json'),
os.path.join(js_root, 'node', 'package.json'),
os.path.join(js_root, 'node', 'package-lock.json'),
]
for file_path in file_paths:
with open(file_path) as f:
content = json.load(f)
current_version = content['version']
if version != current_version:
content['version'] = version
with open(file_path, 'w') as f:
json.dump(content, f, indent=2)
if __name__ == "__main__":
update_version()