Browse Source

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>
Joshua Diamond 8 months ago
parent
commit
41c2a7b070
2 changed files with 11 additions and 5 deletions
  1. 11 2
      lib/python/qmk/cli/generate/version_h.py
  2. 0 3
      lib/python/qmk/git.py

+ 11 - 2
lib/python/qmk/cli/generate/version_h.py

@@ -1,9 +1,12 @@
 """Used by the make system to generate version.h for use in code.
 """
 from time import strftime
+from pathlib import Path
 
 from milc import cli
 
+from qmk.constants import QMK_USERSPACE, HAS_QMK_USERSPACE
+
 from qmk.path import normpath
 from qmk.commands import dump_lines
 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"
         chibios_version = "NA"
         chibios_contrib_version = "NA"
+        userspace_version = "NA"
     else:
         git_dirty = git_is_dirty()
         git_version = git_get_version() or current_time
         git_qmk_hash = git_get_qmk_hash() or "Unknown"
         git_bcd_version = triplet_to_bcd(git_version)
-        chibios_version = git_get_version("chibios", "os") or current_time
-        chibios_contrib_version = git_get_version("chibios-contrib", "os") or current_time
+        chibios_version = git_get_version(Path('lib') / "chibios", "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.
     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 CHIBIOS_VERSION "{chibios_version}"
 #define CHIBIOS_CONTRIB_VERSION "{chibios_contrib_version}"
+#define QMK_USERSPACE_VERSION "{userspace_version}"
 """
     )
 

+ 0 - 3
lib/python/qmk/git.py

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