From 4758a5376ae86efe1b5bda3358bf8ac211dc0c71 Mon Sep 17 00:00:00 2001 From: jj Date: Sat, 3 May 2025 23:23:49 +0000 Subject: [PATCH] helium/utils: add --print option to version script --- utils/append_helium_version.py | 45 --------------------------- utils/helium_version.py | 56 ++++++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+), 45 deletions(-) delete mode 100644 utils/append_helium_version.py create mode 100644 utils/helium_version.py diff --git a/utils/append_helium_version.py b/utils/append_helium_version.py deleted file mode 100644 index 0c218185..00000000 --- a/utils/append_helium_version.py +++ /dev/null @@ -1,45 +0,0 @@ -import argparse -from pathlib import Path - -CHROME_VERSION_BASE = 136 - -def get_version_part(path): - with open(path, "r") as file: - return int(file.readline().split(".")[0].strip()) - -def append_version(file, name, version_file_path, delta): - version = get_version_part(version_file_path) + delta - file.write(f"{name}={version}\n") - -def check_existing_version(path): - with open(path, "r") as f: - if "HELIUM" in f.read(): - raise Exception("file already contains helium versioning") - -def parse_args(): - parser = argparse.ArgumentParser() - parser.add_argument("--tree", type=Path, required=True) - parser.add_argument("--platform-tree", type=Path, required=True) - parser.add_argument("--chromium-tree", type=Path, required=True) - args = parser.parse_args() - return (args.tree, args.platform_tree, args.chromium_tree) - -def main(): - tree, platform_tree, chromium_tree = parse_args() - version_parts = { - "HELIUM_MAJOR": tree / "version.txt", - "HELIUM_MINOR": tree / "chromium_version.txt", - "HELIUM_PLATFORM": platform_tree / "revision.txt", - "HELIUM_PATCH": tree / "revision.txt", - } - - chrome_version_path = chromium_tree / "chrome/VERSION" - check_existing_version(chrome_version_path) - - with open(chrome_version_path, "a") as f: - for name, path in version_parts.items(): - delta = 0 if name != "HELIUM_MINOR" else -CHROME_VERSION_BASE - append_version(f, name, path, delta) - -if __name__ == "__main__": - main() diff --git a/utils/helium_version.py b/utils/helium_version.py new file mode 100644 index 00000000..936be051 --- /dev/null +++ b/utils/helium_version.py @@ -0,0 +1,56 @@ +import argparse +from pathlib import Path + +CHROME_VERSION_BASE = 136 + +def get_version_part(path): + with open(path, "r") as file: + return int(file.readline().split(".")[0].strip()) + +def append_version(file, name, version): + file.write(f"{name}={version}\n") + +def check_existing_version(path): + with open(path, "r") as f: + if "HELIUM" in f.read(): + raise Exception("file already contains helium versioning") + +def parse_args(): + parser = argparse.ArgumentParser() + parser.add_argument("--tree", type=Path, required=True) + parser.add_argument("--platform-tree", type=Path, required=True) + parser.add_argument("--chromium-tree", type=Path) + parser.add_argument("--print", action=argparse.BooleanOptionalAction) + args = parser.parse_args() + return (args.tree, args.platform_tree, args.chromium_tree, args.print) + +def get_version_parts(tree, platform_tree): + version_paths = { + "HELIUM_MAJOR": tree / "version.txt", + "HELIUM_MINOR": tree / "chromium_version.txt", + "HELIUM_PLATFORM": platform_tree / "revision.txt", + "HELIUM_PATCH": tree / "revision.txt", + } + + version_parts = {} + for name, path in version_paths.items(): + delta = 0 if name != "HELIUM_MINOR" else -CHROME_VERSION_BASE + version_parts[name] = get_version_part(path) + delta + return version_parts + +def main(): + tree, platform_tree, chromium_tree, should_print = parse_args() + + version_parts = get_version_parts(tree, platform_tree) + if should_print: + print(f"{version_parts["HELIUM_MAJOR"]}.{version_parts["HELIUM_MINOR"]}." + \ + f"{version_parts["HELIUM_PLATFORM"]}.{version_parts["HELIUM_PATCH"]}") + else: + chrome_version_path = chromium_tree / "chrome/VERSION" + check_existing_version(chrome_version_path) + with open(chrome_version_path, "a") as f: + for name, version in version_parts.items(): + append_version(f, name, version) + +if __name__ == "__main__": + main()