代码拉取完成,页面将自动刷新
# generate_version_info.py
import subprocess
from pathlib import Path
import tomli
PROJECT_DIR = Path(__file__).parent
PKG_DIR = PROJECT_DIR / "jimuflow"
VERSION_FILE = PKG_DIR / "version_info.py"
def get_version():
with open(PROJECT_DIR / "pyproject.toml", "rb") as f:
data = tomli.load(f)
return data["project"]["version"]
def get_git_info():
def run_git(cmd):
try:
return subprocess.check_output(cmd, stderr=subprocess.DEVNULL).decode("utf-8").strip()
except (subprocess.CalledProcessError, FileNotFoundError):
return "unknown"
return {
"commit_hash": run_git(["git", "rev-parse", "HEAD"]),
"branch": run_git(["git", "rev-parse", "--abbrev-ref", "HEAD"]),
"tag": run_git(["git", "describe", "--tags", "--always"]),
"commit_date": run_git(["git", "show", "-s", "--format=%ci", "HEAD"]),
}
def main():
version = get_version()
git_info = get_git_info()
content = f'''# Auto-generated during packaging, do not edit this file manually.
__version__ = "{version}"
__git_commit__ = "{git_info['commit_hash']}"
__git_branch__ = "{git_info['branch']}"
__git_tag__ = "{git_info['tag']}"
__git_commit_date__ = "{git_info['commit_date']}"
'''
VERSION_FILE.parent.mkdir(exist_ok=True)
VERSION_FILE.write_text(content)
if __name__ == "__main__":
main()
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。