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.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…
	
	Add table
		Add a link
		
	
		Reference in a new issue