工作区支持#
Moon 工作区支持让你在一个仓库中通过一个工作区清单(moon.work)管理多个模块。
初始化工作区#
假设目录结构如下:
repo/
mod_a/
moon.mod.json
mod_b/
moon.mod.json
在 repo/ 下,初始化工作区并注册成员模块:
moon work init mod_a mod_b
这会创建 moon.work:
members = [
"./mod_a",
"./mod_b",
]
添加成员#
添加新模块后,可用以下命令将其注册到工作区:
moon work use mod_c
在工作区根目录工作#
配置好 moon.work 后,可在工作区根目录执行 moon 命令:
moon check --target all
moon test --target all
moon info
moon clean
这些命令会在工作区上下文中运行,而不是仅针对单个模块。
有些命令只适用于模块(例如 publish)。对于这类命令,请在具体成员模块目录中执行:
moon -C mod_a publish
同步成员版本#
如果某个成员依赖了另一个工作区成员的过期版本(例如 mod_a@0.1.0,而工作区中的 mod_a 已是 0.2.0),请执行:
moon work sync
这会更新成员的 moon.mod.json 文件,使工作区成员版本保持一致。