You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
850 B
Python
28 lines
850 B
Python
4 weeks ago
|
import os
|
||
|
import subprocess
|
||
|
|
||
|
|
||
|
def get_version():
|
||
|
command = ["git", "describe", "--tags"]
|
||
|
try:
|
||
|
version = subprocess.check_output(command).decode().strip()
|
||
|
version_parts = version.split("-")
|
||
|
if len(version_parts) > 1 and version_parts[0].startswith("magic_pdf"):
|
||
|
return version_parts[1]
|
||
|
else:
|
||
|
raise ValueError(f"Invalid version tag {version}. Expected format is magic_pdf-<version>-released.")
|
||
|
except Exception as e:
|
||
|
print(e)
|
||
|
return "0.0.0"
|
||
|
|
||
|
|
||
|
def write_version_to_commons(version):
|
||
|
commons_path = os.path.join(os.path.dirname(__file__), 'magic_pdf', 'libs', 'version.py')
|
||
|
with open(commons_path, 'w') as f:
|
||
|
f.write(f'__version__ = "{version}"\n')
|
||
|
|
||
|
|
||
|
if __name__ == '__main__':
|
||
|
version_name = get_version()
|
||
|
write_version_to_commons(version_name)
|