forked from mirrors/qmk_userspace
		
	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
					
				
			
		
					 2 changed files with 18 additions and 3 deletions
				
			
		| 
						 | 
				
			
			@ -6,7 +6,7 @@ from milc import cli
 | 
			
		|||
 | 
			
		||||
from qmk.path import normpath
 | 
			
		||||
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
 | 
			
		||||
 | 
			
		||||
TIME_FMT = '%Y-%m-%d-%H:%M:%S'
 | 
			
		||||
| 
						 | 
				
			
			@ -29,23 +29,30 @@ def generate_version_h(cli):
 | 
			
		|||
        current_time = strftime(TIME_FMT)
 | 
			
		||||
 | 
			
		||||
    if cli.args.skip_git:
 | 
			
		||||
        git_dirty = False
 | 
			
		||||
        git_version = "NA"
 | 
			
		||||
        git_qmk_hash = "NA"
 | 
			
		||||
        chibios_version = "NA"
 | 
			
		||||
        chibios_contrib_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"
 | 
			
		||||
        chibios_version = git_get_version("chibios", "os") or current_time
 | 
			
		||||
        chibios_contrib_version = git_get_version("chibios-contrib", "os") or current_time
 | 
			
		||||
 | 
			
		||||
    # Build the version.h file.
 | 
			
		||||
    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_BUILDDATE "{current_time}"
 | 
			
		||||
#define QMK_GIT_HASH  "{git_qmk_hash}{'*' if git_dirty else ''}"
 | 
			
		||||
#define CHIBIOS_VERSION "{chibios_version}"
 | 
			
		||||
#define CHIBIOS_CONTRIB_VERSION "{chibios_contrib_version}"
 | 
			
		||||
""")
 | 
			
		||||
"""
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
    # Show the results
 | 
			
		||||
    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:
 | 
			
		||||
        return []
 | 
			
		||||
    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…
	
	Add table
		Add a link
		
	
		Reference in a new issue