From 5ecefc6a07a44f2617396bd5aec92714d8d760e2 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Mon, 13 Jul 2020 15:42:47 +0200 Subject: Build: make update support for git tags Previously it only picked the appropriate version with the blender-vX.XX-release branches. --- build_files/utils/make_test.py | 3 ++- build_files/utils/make_update.py | 3 ++- build_files/utils/make_utils.py | 17 +++++++++++++++-- 3 files changed, 19 insertions(+), 4 deletions(-) (limited to 'build_files/utils') diff --git a/build_files/utils/make_test.py b/build_files/utils/make_test.py index 309ab36ecdd..15bd6dde352 100755 --- a/build_files/utils/make_test.py +++ b/build_files/utils/make_test.py @@ -40,7 +40,8 @@ if make_utils.command_missing(git_command): # Test if we are building a specific release version. branch = make_utils.git_branch(git_command) -release_version = make_utils.git_branch_release_version(branch) +tag = make_utils.git_tag(git_command) +release_version = make_utils.git_branch_release_version(branch, tag) lib_tests_dirpath = os.path.join('..', 'lib', "tests") if not os.path.exists(lib_tests_dirpath): diff --git a/build_files/utils/make_update.py b/build_files/utils/make_update.py index b6157107c23..324bb6944bf 100755 --- a/build_files/utils/make_update.py +++ b/build_files/utils/make_update.py @@ -197,7 +197,8 @@ if __name__ == "__main__": # Test if we are building a specific release version. branch = make_utils.git_branch(args.git_command) - release_version = make_utils.git_branch_release_version(branch) + tag = make_utils.git_tag(args.git_command) + release_version = make_utils.git_branch_release_version(branch, tag) if not args.no_libraries: svn_update(args, release_version) diff --git a/build_files/utils/make_utils.py b/build_files/utils/make_utils.py index 7b21bc607a4..9a3d25f4952 100755 --- a/build_files/utils/make_utils.py +++ b/build_files/utils/make_utils.py @@ -36,7 +36,7 @@ def check_output(cmd, exit_on_error=True): return output.strip() def git_branch(git_command): - # Test if we are building a specific release version. + # Get current branch name. try: branch = subprocess.check_output([git_command, "rev-parse", "--abbrev-ref", "HEAD"]) except subprocess.CalledProcessError as e: @@ -45,10 +45,23 @@ def git_branch(git_command): return branch.strip().decode('utf8') -def git_branch_release_version(branch): +def git_tag(git_command): + # Get current tag name. + try: + tag = subprocess.check_output([git_command, "describe", "--exact-match"]) + except subprocess.CalledProcessError as e: + return None + + return tag.strip().decode('utf8') + +def git_branch_release_version(branch, tag): release_version = re.search("^blender-v(.*)-release$", branch) if release_version: release_version = release_version.group(1) + elif tag: + release_version = re.search("^v([0-9]*\.[0-9]*).*", tag) + if release_version: + release_version = release_version.group(1) return release_version def svn_libraries_base_url(release_version): -- cgit v1.2.3