mirror of
https://github.com/Stirling-Tools/Stirling-PDF.git
synced 2024-11-19 05:40:10 +01:00
68 lines
1.8 KiB
Python
68 lines
1.8 KiB
Python
|
import re
|
||
|
import yaml
|
||
|
|
||
|
# Paths to the files
|
||
|
chart_yaml_path = "chart/stirling-pdf/Chart.yaml"
|
||
|
gradle_path = "build.gradle"
|
||
|
|
||
|
|
||
|
def get_chart_version(path):
|
||
|
"""
|
||
|
Reads the appVersion from Chart.yaml.
|
||
|
|
||
|
Args:
|
||
|
path (str): The file path to the Chart.yaml.
|
||
|
|
||
|
Returns:
|
||
|
str: The appVersion if found, otherwise an empty string.
|
||
|
"""
|
||
|
with open(path, encoding="utf-8") as file:
|
||
|
chart_yaml = yaml.safe_load(file)
|
||
|
return chart_yaml.get("appVersion", "")
|
||
|
|
||
|
|
||
|
def get_gradle_version(path):
|
||
|
"""
|
||
|
Extracts the version from build.gradle.
|
||
|
|
||
|
Args:
|
||
|
path (str): The file path to the build.gradle.
|
||
|
|
||
|
Returns:
|
||
|
str: The version if found, otherwise an empty string.
|
||
|
"""
|
||
|
with open(path, encoding="utf-8") as file:
|
||
|
for line in file:
|
||
|
if "version =" in line:
|
||
|
# Extracts the value after 'version ='
|
||
|
return re.search(r'version\s*=\s*[\'"](.+?)[\'"]', line).group(1)
|
||
|
return ""
|
||
|
|
||
|
|
||
|
def update_chart_version(path, new_version):
|
||
|
"""
|
||
|
Updates the appVersion in Chart.yaml with a new version.
|
||
|
|
||
|
Args:
|
||
|
path (str): The file path to the Chart.yaml.
|
||
|
new_version (str): The new version to update to.
|
||
|
"""
|
||
|
with open(path, encoding="utf-8") as file:
|
||
|
chart_yaml = yaml.safe_load(file)
|
||
|
chart_yaml["appVersion"] = new_version
|
||
|
with open(path, "w", encoding="utf-8") as file:
|
||
|
yaml.safe_dump(chart_yaml, file)
|
||
|
|
||
|
|
||
|
# Main logic
|
||
|
chart_version = get_chart_version(chart_yaml_path)
|
||
|
gradle_version = get_gradle_version(gradle_path)
|
||
|
|
||
|
if chart_version != gradle_version:
|
||
|
print(
|
||
|
f"Versions do not match. Updating Chart.yaml from {chart_version} to {gradle_version}."
|
||
|
)
|
||
|
update_chart_version(chart_yaml_path, gradle_version)
|
||
|
else:
|
||
|
print("Versions match. No update required.")
|