EazyMake 1.3.0
EazyMake 1.3.0 — Workspace 工作区 + i18n 语言变体 + 消费命令总是自动构建
1.2.x 收官后的首个功能 minor。三大主题:Workspace(工作区)、i18n 语言变体、消费命令总是自动构建。公共 API 无破坏性变更(新增命令组/配置文件/字段/变体标签均为纯增量)。
✨ Workspace(工作区)
ezmk-workspace.toml声明成员集合([workspace] members+[workspace.options])ezmk workspace list / build / test / clean批量管理;Kahn 拓扑分层 + 层内并行- 成员
[depends] workspace = [...]声明单向非循环依赖;构建时兄弟产物自发现注入(-I/-L/-l存在性门控、零环境变量) -w重定向(ezmk build -w≡ezmk workspace build)、--member(含依赖闭包)、--stop-on-error(停派发不 kill)- 跨成员增量:改库
.cpp→ 依赖者只重链;改库.h→ 依赖者经 depfile 自动重编 - 编译/链接命令 >16K → GCC 响应文件兜底(大型项目不炸)
🌏 i18n 语言变体
- BCP 47 风格标签归一化(
zh_CN/zh-CN/zh_CN.UTF-8→zh-CN) locale/zh-TW.json繁体中文变体(继承式,只写差异键,缺键回退基础语言)- 回退链:变体 → 基础语言 → 英文,永不出现
{???}
⚡ 消费命令总是自动构建
ezmk test/pack --precompiled移除产物存在性门控,一律先增量构建再消费(消除陈旧产物陷阱)
其他
- 新增
workspace_*相关 i18n 键(X-macro 三向一致,zh-TW 变体同步) - 全量测试:863 用例 / 5007 断言零失败;集成测试覆盖 workspace 端到端 + CI workspace 冒烟
完整 changelog 见 CHANGES.md。