Version eingebaut
This commit is contained in:
parent
98d9a84031
commit
e578d43f9c
2 changed files with 161 additions and 0 deletions
84
make_version_info.py
Normal file
84
make_version_info.py
Normal file
|
|
@ -0,0 +1,84 @@
|
|||
from pathlib import Path
|
||||
import subprocess
|
||||
from version import VERSION
|
||||
|
||||
# =========================
|
||||
# Konfiguration
|
||||
# =========================
|
||||
APP_NAME = "Simbriefimport"
|
||||
COMPANY = "Carsten"
|
||||
COPYRIGHT = "© 2025 Carsten"
|
||||
|
||||
OUTPUT_FILE = Path("version_info.txt")
|
||||
|
||||
|
||||
def get_build_number() -> int:
|
||||
"""
|
||||
Ermittelt die Buildnummer aus Git (Commit-Zähler).
|
||||
Fällt sauber auf 0 zurück, wenn Git nicht verfügbar ist.
|
||||
"""
|
||||
try:
|
||||
out = subprocess.check_output(
|
||||
["git", "rev-list", "--count", "HEAD"],
|
||||
stderr=subprocess.DEVNULL
|
||||
)
|
||||
return int(out.decode().strip())
|
||||
except Exception:
|
||||
return 0
|
||||
|
||||
|
||||
def main():
|
||||
build = get_build_number()
|
||||
|
||||
try:
|
||||
major, minor, patch = map(int, VERSION.split("."))
|
||||
except ValueError:
|
||||
raise RuntimeError(
|
||||
f"VERSION '{VERSION}' muss dem Schema Major.Minor.Patch entsprechen"
|
||||
)
|
||||
|
||||
filevers = f"{major},{minor},{patch},{build}"
|
||||
textvers = f"{VERSION}.{build}"
|
||||
|
||||
content = f"""VSVersionInfo(
|
||||
ffi=FixedFileInfo(
|
||||
filevers=({filevers}),
|
||||
prodvers=({filevers}),
|
||||
mask=0x3f,
|
||||
flags=0x0,
|
||||
OS=0x40004,
|
||||
fileType=0x1,
|
||||
subtype=0x0,
|
||||
date=(0,0)
|
||||
),
|
||||
kids=[
|
||||
StringFileInfo(
|
||||
[
|
||||
StringTable(
|
||||
'040904B0',
|
||||
[
|
||||
StringStruct('CompanyName', '{COMPANY}'),
|
||||
StringStruct('FileDescription', '{APP_NAME}'),
|
||||
StringStruct('ProductName', '{APP_NAME}'),
|
||||
StringStruct('InternalName', '{APP_NAME}'),
|
||||
StringStruct('OriginalFilename', '{APP_NAME}.exe'),
|
||||
StringStruct('FileVersion', '{textvers}'),
|
||||
StringStruct('ProductVersion', '{textvers}'),
|
||||
StringStruct('LegalCopyright', '{COPYRIGHT}')
|
||||
]
|
||||
)
|
||||
]
|
||||
)
|
||||
]
|
||||
)
|
||||
"""
|
||||
|
||||
OUTPUT_FILE.write_text(content, encoding="utf-8")
|
||||
|
||||
print(f"Version_info erzeugt:")
|
||||
print(f" Version: {textvers}")
|
||||
print(f" Datei: {OUTPUT_FILE.resolve()}")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Loading…
Add table
Add a link
Reference in a new issue