From 2d47ccd22fb7cabb2b75bcf9fadc22aaec4a776b Mon Sep 17 00:00:00 2001 From: Dain Nilsson Date: Wed, 25 Jan 2023 10:18:33 +0100 Subject: [PATCH] Add MSI version number to set-version.py --- resources/win/yubioath-desktop.wxs | 2 +- set-version.py | 33 ++++++++++++++++++++++-------- 2 files changed, 26 insertions(+), 9 deletions(-) diff --git a/resources/win/yubioath-desktop.wxs b/resources/win/yubioath-desktop.wxs index a3e1257a..ca92b536 100644 --- a/resources/win/yubioath-desktop.wxs +++ b/resources/win/yubioath-desktop.wxs @@ -1,7 +1,7 @@ - + diff --git a/set-version.py b/set-version.py index d45050c5..15b84066 100755 --- a/set-version.py +++ b/set-version.py @@ -23,7 +23,7 @@ This script updates version numbers in various files. version_pattern = r"(\d+)\.(\d+)\.(\d+)(-[^\s+]+)?" lib_version_pattern = rf"const\s+String\s+version\s+=\s+'({version_pattern})';" -lib_build_pattern = rf"const\s+int\s+build\s+=\s+(\d+);" +lib_build_pattern = r"const\s+int\s+build\s+=\s+(\d+);" def sub1(pattern, repl, string): @@ -32,6 +32,7 @@ def sub1(pattern, repl, string): raise ValueError(f"Did not find string matching {pattern} to replace") return buf + def update_file(fname, func): with open(fname) as f: orig = f.read() @@ -43,6 +44,7 @@ def update_file(fname, func): f.write(buf) print("Updated", fname) + def read_lib_version(): with open("lib/version.dart") as f: buf = f.read() @@ -77,6 +79,7 @@ def update_lib(buf): return buf + # Handle invocation args = sys.argv[1:] if not args: @@ -95,27 +98,29 @@ else: sys.exit(1) # x.y.z without trailing part -short_version = re.search("(\d+\.\d+\.\d+)", version).group() +short_version = re.search(r"(\d+\.\d+\.\d+)", version).group() + # pubspec.yaml def update_pubspec(buf): return sub1( - r'version:\s+\d+\.\d+\.\d+.*\+\d+', - f'version: {version}+{build}', + r"version:\s+\d+\.\d+\.\d+.*\+\d+", + f"version: {version}+{build}", buf, ) + # Helper version_info def update_helper_version(buf): version_tuple = repr(tuple(int(d) for d in short_version.split(".")) + (0,)) buf = sub1( - rf'filevers=\(\d+, \d+, \d+, \d+\)', - f'filevers={version_tuple}', + r"filevers=\(\d+, \d+, \d+, \d+\)", + f"filevers={version_tuple}", buf, ) buf = sub1( - rf'prodvers=\(\d+, \d+, \d+, \d+\)', - f'prodvers={version_tuple}', + r"prodvers=\(\d+, \d+, \d+, \d+\)", + f"prodvers={version_tuple}", buf, ) buf = sub1( @@ -130,6 +135,7 @@ def update_helper_version(buf): ) return buf + # release-win.ps1 def update_release_win(buf): return sub1( @@ -138,6 +144,17 @@ def update_release_win(buf): buf, ) + +# MSI .wxs file +def update_win_msi(buf): + return sub1( + rf'ProductVersion="{version_pattern}"', + f'ProductVersion="{short_version}"', + buf, + ) + + update_file("pubspec.yaml", update_pubspec) update_file("helper/version_info.txt", update_helper_version) update_file("resources/win/release-win.ps1", update_release_win) +update_file("resources/win/yubioath-desktop.wxs", update_win_msi)