From c6535f0ce159003720daf76ec0b05ad380859c1f Mon Sep 17 00:00:00 2001 From: arabcoders Date: Fri, 1 Aug 2025 17:31:18 +0300 Subject: [PATCH] Update the pyinstaller build to include version number. --- .gitignore | 1 + app.spec | 21 +++++++++++++++++++-- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index d276d02e..beaaf587 100644 --- a/.gitignore +++ b/.gitignore @@ -36,3 +36,4 @@ __pycache__ .idea dist build +version.txt diff --git a/app.spec b/app.spec index 149a3c00..9d8ad836 100644 --- a/app.spec +++ b/app.spec @@ -1,8 +1,24 @@ +import importlib.util import os import platform import sys import tomllib +spec = importlib.util.spec_from_file_location("version", "./app/library/version.py") +ver = importlib.util.module_from_spec(spec) +spec.loader.exec_module(ver) + +with open("version.txt", "w") as f: + f.write(f"""# UTF-8 +# FileVersion: "{ver.APP_VERSION}" +# ProductVersion: "{ver.APP_VERSION}" +# FileDescription: "YTPTube build {ver.APP_COMMIT_SHA}" +# ProductName: "YTPTube" +# OriginalFilename: "ytptube.exe" +# InternalName: "YTPTube" +# Comments: "Built from {ver.APP_BRANCH} at {ver.APP_BUILD_DATE}" +""") + block_cipher = None machine = platform.machine().lower() @@ -31,7 +47,7 @@ hidden = [ "engineio", "engineio.async_drivers.aiohttp", "socketio.async_drivers.aiohttp", - "app" + "app", ] hidden = [f.replace("-", "_") for f in hidden] @@ -63,7 +79,8 @@ exe = EXE( # type: ignore # noqa: F821 debug=False, strip=False, upx=True, - console=False, # Turn on to True if you want a console window for debugging. + version="version.txt", + console=False, # Turn on to True if you want a console window for debugging. icon="ui/public/favicon.ico", onefile=True, )