mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-05-02 02:40:04 +02:00
43 lines
1.2 KiB
Python
43 lines
1.2 KiB
Python
# SPDX-License-Identifier: LGPL-3.0-or-other
|
|
# Copyright (C) 2021 Contributors to the SLS Detector Package
|
|
"""
|
|
Script to update VERSION file with semantic versioning if provided as an argument, or with 0.0.0 if no argument is provided.
|
|
"""
|
|
|
|
import sys
|
|
import re
|
|
import toml
|
|
|
|
def get_version():
|
|
|
|
# Check at least one argument is passed
|
|
if len(sys.argv) < 2:
|
|
return "0.0.0"
|
|
|
|
version = sys.argv[1]
|
|
|
|
# Validate that the version argument matches semantic versioning format (X.Y.Z)
|
|
if not re.match(r'^\d+\.\d+\.\d+$', version):
|
|
print("Error: Version argument must be in semantic versioning format (X.Y.Z)")
|
|
sys.exit(1)
|
|
|
|
return version
|
|
|
|
def write_version_to_file(version):
|
|
with open("VERSION", "w") as version_file:
|
|
version_file.write(version)
|
|
print(f"Version {version} written to VERSION file.")
|
|
|
|
def update_pyproject_toml_file(version):
|
|
pyproject = toml.load("pyproject.toml")
|
|
pyproject["project"]["version"] = version
|
|
toml.dump(pyproject, open("pyproject.toml", "w")) #write back
|
|
print(f"Version in pyproject.toml set to {version}")
|
|
|
|
# Main script
|
|
if __name__ == "__main__":
|
|
|
|
version = get_version()
|
|
write_version_to_file(version)
|
|
update_pyproject_toml_file(version)
|