用途:hb-build 面向 OpenHarmony 的 ability_runtime 组件,通过检测修改的文件自动确定编译目标,减少手动指定目标的成本,并支持多目标一起编译、自动重试与智能错误分析。
主要能力:自动检测修改文件并推断目标;支持指定单个或多个编译目标;支持整仓编译;支持功能代码与测试套两种编译类型;支持快速编译与自动重试。支持的编译目标包括 abilityms、appms、libupms、dataobsms、quickfixmgr,以及 auto(自动检测)和 full(整仓编译)。
使用方式:在项目根目录(包含 build.py)运行 python3 scripts/helper.py 自动检测并编译;指定目标可用 python3 scripts/helper.py --target libupms,多目标可写 python3 scripts/helper.py --target libupms abilityms appms,整仓编译用 python3 scripts/helper.py --target full。参数包括 --target(默认 auto)、--type(-i 功能代码 / -t 测试套,默认 -i)、--fast(--fast-rebuild,默认 false)、--max-retries(默认 3)、--auto-retry(默认 false)。工作流程为:切换项目根目录、git status --short 检测修改、过滤无关文件、统计各服务修改文件数推断目标、按目标数量决策(大于 5 用整仓、大于 1 一起编译、等于 1 编译单个)、执行 hb build ability_runtime -i --build-target <TARGET>、处理结果并支持智能重试。
适用场景:在 ability_runtime Git 仓库中修改代码后快速编译验证。
限制:必须在 ability_runtime Git 仓库中运行,项目根目录必须包含 build.py,hb 命令必须在 PATH 中可用;整仓编译耗时约 10-30 分钟;首次编译需下载依赖包;未安装 ccache 时会禁用编译缓存。自动忽略 .claude/、.hvigor/、build/、out/、.git/、services/dialog_ui/ams_system_dialog/.hvigor/、local.properties 及 *.md 文档。详细文档见 references/api.md、references/examples.md、references/workflow.md,核心脚本为 scripts/helper.py。