Skip to content

Commit a7aaba1

Browse files
committed
Add dev script func check_mypy()
1 parent 7a6d41c commit a7aaba1

3 files changed

Lines changed: 25 additions & 3 deletions

File tree

dev_scripts/build.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
from dev_scripts.check_funcs import (
99
check_license_statement,
10+
check_mypy,
1011
check_pre_commit,
1112
check_version_num,
1213
)
@@ -72,7 +73,8 @@ def build_py2exe_gui() -> None:
7273
clear_pycache(SRC_PATH)
7374
process_md_images(README_FILE_LIST)
7475
# compile_resources()
75-
print(f"pre-commit检查完毕,返回码:{check_pre_commit()}。")
76+
print(f"pre-commit 检查完毕,返回码:{check_pre_commit()}。")
77+
print(f"mypy 检查完毕,返回码:{check_mypy()}。")
7678

7779
# 正式构建
7880
subprocess.run(["poetry", "build"]) # TODO 处理异常与返回值

dev_scripts/check_funcs.py

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,12 @@
66
import tomllib
77
import warnings
88

9-
from dev_scripts.path_constants import COMPILED_RESOURCES, PROJECT_ROOT, SRC_PATH
9+
from dev_scripts.path_constants import (
10+
COMPILED_RESOURCES,
11+
PROJECT_ROOT,
12+
SRC_PATH,
13+
SRC_PKG_PATH,
14+
)
1015
from py2exe_gui import Constants as py2exe_gui_Constants
1116

1217

@@ -85,6 +90,19 @@ def check_pre_commit() -> int:
8590
return 0
8691

8792

93+
def check_mypy() -> int:
94+
"""
95+
调用mypy进行静态代码分析
96+
"""
97+
98+
mypy_cmd = ["mypy", SRC_PKG_PATH, "--config-file", PROJECT_ROOT / "pyproject.toml"]
99+
print("开始运行 mypy 检查...")
100+
result = subprocess.run(mypy_cmd)
101+
print("mypy 检查运行完毕。")
102+
103+
return result.returncode
104+
105+
88106
def check_requirements() -> int:
89107
"""
90108
检查 requirements.txt 中的依赖是否最新
@@ -97,4 +115,5 @@ def check_requirements() -> int:
97115
check_license_statement()
98116
check_version_num()
99117
check_pre_commit()
118+
check_mypy()
100119
check_requirements()

dev_scripts/path_constants.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@
77

88
PROJECT_ROOT = Path("../") # 项目根目录
99
SRC_PATH = PROJECT_ROOT / "src" # 源码目录
10-
RESOURCES_PATH = SRC_PATH / "py2exe_gui" / "Resources" # 静态资源文件目录
10+
SRC_PKG_PATH = SRC_PATH / "py2exe_gui"
11+
RESOURCES_PATH = SRC_PKG_PATH / "Resources" # 静态资源文件目录
1112
COMPILED_RESOURCES = RESOURCES_PATH / "compiled_resources.py" # 编译静态资源文件
1213
README_FILE_LIST = [
1314
PROJECT_ROOT / "README.md",

0 commit comments

Comments
 (0)