Include userspace version (QMK_USERSPACE_VERSION) in version.h (#25882)

* Include userspace version in version.h

* Update lib/python/qmk/cli/generate/version_h.py

Co-authored-by: Joel Challis <git@zvecr.com>

* Update lib/python/qmk/cli/generate/version_h.py

Co-authored-by: Joel Challis <git@zvecr.com>

* Update lib/python/qmk/cli/generate/version_h.py

Co-authored-by: Joel Challis <git@zvecr.com>

---------

Co-authored-by: Joel Challis <git@zvecr.com>
This commit is contained in:
Joshua Diamond 2025-12-18 22:23:51 -05:00 • committed by GitHub
commit 41c2a7b070
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 11 additions and 5 deletions

View file

@ -1,9 +1,12 @@
"""Used by the make system to generate version.h for use in code. """Used by the make system to generate version.h for use in code.
""" """
from time import strftime from time import strftime
from pathlib import Path
from milc import cli from milc import cli
from qmk.constants import QMK_USERSPACE, HAS_QMK_USERSPACE
from qmk.path import normpath from qmk.path import normpath
from qmk.commands import dump_lines from qmk.commands import dump_lines
from qmk.git import git_get_qmk_hash, git_get_version, git_is_dirty from qmk.git import git_get_qmk_hash, git_get_version, git_is_dirty
@ -36,13 +39,18 @@ def generate_version_h(cli):
git_bcd_version = "0x00000000" git_bcd_version = "0x00000000"
chibios_version = "NA" chibios_version = "NA"
chibios_contrib_version = "NA" chibios_contrib_version = "NA"
userspace_version = "NA"
else: else:
git_dirty = git_is_dirty() git_dirty = git_is_dirty()
git_version = git_get_version() or current_time git_version = git_get_version() or current_time
git_qmk_hash = git_get_qmk_hash() or "Unknown" git_qmk_hash = git_get_qmk_hash() or "Unknown"
git_bcd_version = triplet_to_bcd(git_version) git_bcd_version = triplet_to_bcd(git_version)
chibios_version = git_get_version("chibios", "os") or current_time chibios_version = git_get_version(Path('lib') / "chibios", "os") or current_time
chibios_contrib_version = git_get_version("chibios-contrib", "os") or current_time chibios_contrib_version = git_get_version(Path('lib') / "chibios-contrib") or current_time
if HAS_QMK_USERSPACE:
userspace_version = git_get_version(Path(QMK_USERSPACE).resolve()) or current_time
else:
userspace_version = "None"
# Build the version.h file. # Build the version.h file.
version_h_lines = [GPL2_HEADER_C_LIKE, GENERATED_HEADER_C_LIKE, '#pragma once'] version_h_lines = [GPL2_HEADER_C_LIKE, GENERATED_HEADER_C_LIKE, '#pragma once']
@ -55,6 +63,7 @@ def generate_version_h(cli):
#define QMK_GIT_HASH "{git_qmk_hash}{'*' if git_dirty else ''}" #define QMK_GIT_HASH "{git_qmk_hash}{'*' if git_dirty else ''}"
#define CHIBIOS_VERSION "{chibios_version}" #define CHIBIOS_VERSION "{chibios_version}"
#define CHIBIOS_CONTRIB_VERSION "{chibios_contrib_version}" #define CHIBIOS_CONTRIB_VERSION "{chibios_contrib_version}"
#define QMK_USERSPACE_VERSION "{userspace_version}"
""" """
) )

View file

@ -13,9 +13,6 @@ def git_get_version(repo_dir='.', check_dir='.'):
""" """
git_describe_cmd = ['git', 'describe', '--abbrev=6', '--dirty', '--always', '--tags'] git_describe_cmd = ['git', 'describe', '--abbrev=6', '--dirty', '--always', '--tags']
if repo_dir != '.':
repo_dir = Path('lib') / repo_dir
if check_dir != '.': if check_dir != '.':
check_dir = repo_dir / check_dir check_dir = repo_dir / check_dir