1 Star 0 Fork 18

zwy/modelers_openmind

forked from 魔乐社区/openmind 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
hatch_build.py 2.13 KB
一键复制 编辑 原始数据 按行查看 历史
孙银磊 提交于 2024-11-26 09:24 . Initial commit
# Copyright (c) 2024 Huawei Technologies Co., Ltd.
#
# openMind is licensed under Mulan PSL v2.
# You can use this software according to the terms and conditions of the Mulan PSL v2.
# You may obtain a copy of Mulan PSL v2 at:
#
# http://license.coscl.org.cn/MulanPSL2
#
# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
import os
import importlib
import sys
import stat
import subprocess
from pathlib import Path
from hatchling.metadata.plugin.interface import MetadataHookInterface
from hatchling.builders.hooks.plugin.interface import BuildHookInterface
# Import version.py as a module
flags = os.O_WRONLY | os.O_CREAT
modes = stat.S_IWUSR | stat.S_IRUSR
version_path = Path(os.path.dirname(os.path.realpath(__file__))) / "src/openmind/version.py"
root_path = str(version_path.parent.resolve())
sys.path.append(root_path)
mod_name = version_path.stem
mod = importlib.import_module(mod_name)
__version__ = mod.__version__
def _get_git_revision_short_hash() -> str:
return subprocess.check_output(["/usr/bin/git", "rev-parse", "--short", "HEAD"]).decode("utf-8").strip()
def _update_pkg_version(version: str) -> str:
original_version = version
try:
git_sha = _get_git_revision_short_hash()
except (subprocess.CalledProcessError, FileNotFoundError):
git_sha = ""
if git_sha and "dev" in original_version:
new_version = f"{original_version}+{git_sha}"
else:
new_version = original_version
return new_version
with os.fdopen(os.open(os.path.join(root_path, "git_version_info.py"), flags, modes), "w") as fd:
fd.write(f"__version__='{_update_pkg_version(__version__)}'\n")
class CustomMetadataHook(MetadataHookInterface):
def update(self, metadata):
metadata["version"] = _update_pkg_version(__version__)
class CustomBuildHook(BuildHookInterface):
"""A custom build hook for building ."""
def initialize(self, version, build_data):
"""Initialize the hook."""
pass
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Python
1
https://gitee.com/zwyopen2021/modelers_openmind.git
git@gitee.com:zwyopen2021/modelers_openmind.git
zwyopen2021
modelers_openmind
modelers_openmind
dev

搜索帮助