# Copyright (c) 2025 Jeffrey Hsu - JITToolBox # # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # # You should have received a copy of the GNU General Public License # along with this program. If not, see . import subprocess from datetime import datetime def gen_build_info(): try: hash_str = subprocess.check_output( ['git', 'rev-parse', '--short', 'HEAD'], stderr=subprocess.DEVNULL ).decode('utf-8').strip() except FileNotFoundError: # git 未安装 hash_str = 'unknown' except subprocess.CalledProcessError: # 不是 git 仓库(如从压缩包下载) hash_str = 'unknown' with open('build_info.py', 'w', encoding='utf-8') as f: f.write(f"# Auto-generated build info\n") f.write(f"BUILD_TIME = '{datetime.now().isoformat(sep=' ', timespec='seconds')}'\n") f.write(f"GIT_HASH = '{hash_str}'\n") if __name__ == '__main__': gen_build_info()