From 0053661d07e31fa0caa85d83a030c6e1f2f52625 Mon Sep 17 00:00:00 2001 From: Luke Granger-Brown Date: Sat, 22 Oct 2022 19:35:00 +0100 Subject: [PATCH 2/4] proto_ver_generator: use changelog, not git --- scripts/fbt_tools/fbt_assets.py | 28 ++++++++++------------------ 1 file changed, 10 insertions(+), 18 deletions(-) diff --git a/scripts/fbt_tools/fbt_assets.py b/scripts/fbt_tools/fbt_assets.py index e17487358..6350ffcb7 100644 --- a/scripts/fbt_tools/fbt_assets.py +++ b/scripts/fbt_tools/fbt_assets.py @@ -75,26 +75,18 @@ def _invoke_git(args, source_dir): def proto_ver_generator(target, source, env): + changelog_content = source[0].get_text_contents() + for ln in changelog_content.split('\n'): + ln = ln.strip() + if ln.startswith('## ['): + version = ln[len('## ['):-1] + break + else: + print("couldn't parse version from changelog " + str(source[0])) + Exit() target_file = target[0] - src_dir = source[0].dir.abspath - try: - git_fetch = _invoke_git( - ["fetch", "--tags"], - source_dir=src_dir, - ) - except (subprocess.CalledProcessError, EnvironmentError) as e: - # Not great, not terrible - print(fg.boldred("Git: fetch failed")) - - try: - git_describe = _invoke_git( - ["describe", "--tags", "--abbrev=0"], - source_dir=src_dir, - ) - except (subprocess.CalledProcessError, EnvironmentError) as e: - raise SConsEnvironmentError("Git: describe failed") - git_major, git_minor = git_describe.split(".") + git_major, git_minor = version.split(".") version_file_data = ( "#pragma once", f"#define PROTOBUF_MAJOR_VERSION {git_major}", -- 2.38.1