-
Notifications
You must be signed in to change notification settings - Fork 2
Scripts
AceGuru-mjh edited this page Oct 1, 2026
·
4 revisions
📑 本页目录
scripts/下的 5 个脚本,是质量门禁与 rootfs 暂存的落脚点。全部可在仓库根目录直接执行。
| 脚本 | 用途 | 被谁调用 |
|---|---|---|
check_code_quality.sh |
反模式门禁 + 空 catch 普查 | quality-gate.yml |
check_file_size.sh |
God 文件预算门禁 | quality-gate.yml |
kotlin_balance.py |
词法感知的括号 / 花括号平衡检查 |
ci.yml(Check bracket balance) |
fetch_rootfs.sh |
内置 Ubuntu rootfs 构建期暂存 / 校验 |
ci.yml、apk.yml(Stage bundled Ubuntu rootfs) |
compile_terminal_jvm.sh |
无 Android SDK 时用 kotlinc 做类型检查 | 本地 / 参考 CI 静态分析 |
三项目标:
| 目标 | 判定 |
|---|---|
① javaClass.getMethod 反射分发
|
阻断(红) |
② main 源中的 printStackTrace()
|
阻断(红) |
③ 空 catch {} 普查 |
不阻断,仅输出报告供审计 |
扫描路径:core / app / platform / terminal-emulator 的 main。
scripts/check_code_quality.sh- main ≤ 1200 行,test ≤ 1600 行;
- 超限文件会被列出并让 job 失败 —— 请先拆分,不要改阈值。
scripts/check_file_size.sh朴素计数会被注释、raw string("""…""")、字符串模板(${…})里的括号骗到。
这个脚本先做词法剥离再计数:
python scripts/kotlin_balance.py典型用法:编辑大文件时误删一个花括号,编译前就能定位。
| 参数 | 行为 |
|---|---|
| (默认) | 拉取 3 个 ABI 的官方 Ubuntu base 归档 → 双重校验 → 暂存(幂等:已就绪跳过) |
--check |
只校验已暂存档案的指纹,不下载(CI 快速路径) |
--clean |
删除暂存档案 |
- 退出码:0 成功;1 校验失败 / 缺依赖 —— 绝不带病暂存;
- 依赖:
curl+sha256sum; - 详细机制与三处指纹一致性见 Ubuntu rootfs 供给。
本机没有 Android SDK 时,用 kotlinc 对 terminal-emulator + platform:terminal
(main 与 test 一起编译以获得 internal 可见性)做类型检查:
scripts/compile_terminal_jvm.shscripts/check_file_size.sh \
&& scripts/check_code_quality.sh \
&& python scripts/kotlin_balance.py \
&& scripts/fetch_rootfs.sh --check四条全绿 ≈ CI 结构性门禁不会红。
Note
Windows 用户:.sh 脚本请用 Git Bash / WSL 执行,并保持 LF 换行与可执行权限,
否则会遇到 "\r": command not found。
-
MCP 生态总览
新 - (沙箱 MCP · 官方 Hub · 逆向 Host · 门控语义)
- 终端运行时
- 终端 API 契约
- SDK 边界
- Termux 能力矩阵
- Ubuntu rootfs 供给
- Ubuntu 生命周期
- PRoot 二进制溯源
- VT100/ANSI 模拟器
- 终端性能
- 终端迁移
- 原生层 C++/JNI