feat(build): version release résolue au build avec repli dev (P1-7)

Crée gui_v6/version.py (DEFAULT_VERSION + resolve_version()) qui tente
d'importer gui_v6._build_version (généré au build Windows, non commité).
Câble gui_v6.__version__ sur resolve_version(). Ajoute gui_v6/_build_version.py
au .gitignore et aux hiddenimports du spec PyInstaller. 4 tests TDD.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-02 11:02:57 +02:00
parent 8f9107a27f
commit 5f05ba0fb8
5 changed files with 64 additions and 1 deletions

View File

@@ -8,4 +8,6 @@ Lot G1 (socle) : thème, client/stockage licence, shell minimal, onglet À propo
__all__ = ["__version__"]
__version__ = "6.0.0-g1"
from gui_v6.version import resolve_version
__version__ = resolve_version()

18
gui_v6/version.py Normal file
View File

@@ -0,0 +1,18 @@
"""Résolution de la version affichée/télémesurée de la GUI V6 (P1-7, Plan 3).
Au build Windows, scripts/build_windows_oneclick.ps1 génère gui_v6/_build_version.py
contenant BUILD_VERSION = "2026.MM.JJ.HHMM" (même valeur que l'AppVersion de
l'installeur et que build_info.BUILD_VERSION). Ce fichier n'est PAS commité
(.gitignore). En dev, repli sur DEFAULT_VERSION.
"""
DEFAULT_VERSION = "6.0.0-dev"
def resolve_version(default: str = DEFAULT_VERSION) -> str:
try:
from gui_v6._build_version import BUILD_VERSION
except Exception:
return default
version = str(BUILD_VERSION).strip()
return version if version else default