Add commit info to version.h
(#19542)
* Initial commit * Fix import order * Fix deleted code instead of debug print line * Format * Update lib/python/qmk/cli/generate/version_h.py Co-authored-by: Ryan <fauxpark@gmail.com> * Renaming * Update lib/python/qmk/cli/generate/version_h.py Co-authored-by: Joel Challis <git@zvecr.com> * Update lib/python/qmk/git.py Co-authored-by: Joel Challis <git@zvecr.com> --------- Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: Joel Challis <git@zvecr.com>
This commit is contained in:
parent
53132ab9cf
commit
d55b07696b
@ -6,7 +6,7 @@ from milc import cli
|
|||||||
|
|
||||||
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_version
|
from qmk.git import git_get_qmk_hash, git_get_version, git_is_dirty
|
||||||
from qmk.constants import GPL2_HEADER_C_LIKE, GENERATED_HEADER_C_LIKE
|
from qmk.constants import GPL2_HEADER_C_LIKE, GENERATED_HEADER_C_LIKE
|
||||||
|
|
||||||
TIME_FMT = '%Y-%m-%d-%H:%M:%S'
|
TIME_FMT = '%Y-%m-%d-%H:%M:%S'
|
||||||
@ -29,23 +29,30 @@ def generate_version_h(cli):
|
|||||||
current_time = strftime(TIME_FMT)
|
current_time = strftime(TIME_FMT)
|
||||||
|
|
||||||
if cli.args.skip_git:
|
if cli.args.skip_git:
|
||||||
|
git_dirty = False
|
||||||
git_version = "NA"
|
git_version = "NA"
|
||||||
|
git_qmk_hash = "NA"
|
||||||
chibios_version = "NA"
|
chibios_version = "NA"
|
||||||
chibios_contrib_version = "NA"
|
chibios_contrib_version = "NA"
|
||||||
else:
|
else:
|
||||||
|
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"
|
||||||
chibios_version = git_get_version("chibios", "os") or current_time
|
chibios_version = git_get_version("chibios", "os") or current_time
|
||||||
chibios_contrib_version = git_get_version("chibios-contrib", "os") or current_time
|
chibios_contrib_version = git_get_version("chibios-contrib", "os") or current_time
|
||||||
|
|
||||||
# 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']
|
||||||
|
|
||||||
version_h_lines.append(f"""
|
version_h_lines.append(
|
||||||
|
f"""
|
||||||
#define QMK_VERSION "{git_version}"
|
#define QMK_VERSION "{git_version}"
|
||||||
#define QMK_BUILDDATE "{current_time}"
|
#define QMK_BUILDDATE "{current_time}"
|
||||||
|
#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}"
|
||||||
""")
|
"""
|
||||||
|
)
|
||||||
|
|
||||||
# Show the results
|
# Show the results
|
||||||
dump_lines(cli.args.output, version_h_lines, cli.args.quiet)
|
dump_lines(cli.args.output, version_h_lines, cli.args.quiet)
|
||||||
|
@ -136,3 +136,11 @@ def git_get_ignored_files(check_dir='.'):
|
|||||||
if invalid.returncode != 0:
|
if invalid.returncode != 0:
|
||||||
return []
|
return []
|
||||||
return invalid.stdout.strip().splitlines()
|
return invalid.stdout.strip().splitlines()
|
||||||
|
|
||||||
|
|
||||||
|
def git_get_qmk_hash():
|
||||||
|
output = cli.run(['git', 'rev-parse', '--short', 'HEAD'])
|
||||||
|
if output.returncode != 0:
|
||||||
|
return None
|
||||||
|
|
||||||
|
return output.stdout.strip()
|
||||||
|
Loading…
Reference in New Issue
Block a user