mcpField
H
hb-build

hb-build

github.com/openharmonyinsight開発3553 回インストール11 週間前に更新
リポジトリ

hb-build について

hb-buildは、OpenHarmony ability_runtimeの開発者向けビルドスキルです。変更ファイルから対象を推定し、複数ターゲットのビルドや再試行に対応します。

主な機能

  1. 01変更ファイルから対象を推定
  2. 02単一・複数・全体のビルド
  3. 03機能コードとテストのビルド
  4. 04高速ビルドオプション
  5. 05自動再試行の設定

活用シーン

  1. 01変更箇所に関係するサービスだけをビルド
  2. 02複数のability_runtimeサービスをまとめてビルド
  3. 03ability_runtime全体をビルド
  4. 04失敗したビルドを再試行

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/openharmonyinsight/openharmony-skills --skill hb-build

インストール後、Claude Code で/hb-buildを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
api.md
examples.md
workflow.md
scripts/
helper.py

詳細

プロジェクトの README より

hb-build - Ability Runtime 智能编译工具

自动检测修改的文件并智能编译 ability_runtime 组件,支持多目标编译和自动重试。

快速开始

自动检测并编译(推荐)
python3 scripts/helper.py
编译特定服务
# SO 名称(推荐)
python3 scripts/helper.py --target libupms      # UriPermissionManager
python3 scripts/helper.py --target abilityms    # AbilityManagerService
python3 scripts/helper.py --target appms        # AppManagerService

# 完整路径
python3 scripts/helper.py --target \
  //foundation/ability/ability_runtime/services/uripermmgr:libupms
编译多个服务
python3 scripts/helper.py --target libupms abilityms appms
整仓编译
python3 scripts/helper.py --target full

工作流程

1. 切换到项目根目录(包含 build.py)
2. 检测修改文件 → git status --short
3. 过滤无关文件 → 排除 .claude/, build/, out/, *.md 等
4. 推断编译目标 → 统计每个服务的修改文件数
5. 智能决策 →
   • 目标数量 > 5 → 使用整仓编译
   • 目标数量 > 1 → 一起编译多个目标
   • 目标数量 = 1 → 编译单个目标
6. 执行编译 → hb build ability_runtime -i --build-target <TARGET>
7. 处理结果 → 成功或失败(支持智能重试)

参数概览

参数说明默认值
--target编译目标(支持多个)auto
--type编译类型(-i 功能代码 / -t 测试套)-i
--fast启用快速编译(--fast-rebuild)false
--max-retries最大重试次数3
--auto-retry启用自动重试模式false

支持的编译目标

  • abilityms - AbilityManagerService (services/abilitymgr)
  • appms - AppManagerService (services/appmgr)
  • libupms - UriPermissionManager (services/uripermmgr)
  • dataobsms - DataObserverManager (services/dataobsmgr)
  • quickfixmgr - QuickFix Manager (services/quickfixmgr)
  • auto - 自动检测修改文件并推断编译目标
  • full - 编译整个 ability_runtime 组件

自动忽略的文件

以下文件和目录不会被检测为需要编译的修改:

  • .claude/, .hvigor/, build/, out/, .git/
  • services/dialog_ui/ams_system_dialog/.hvigor/
  • local.properties
  • *.md 文档文件

使用要求

必须满足的条件:

  • 必须在 ability_runtime Git 仓库中运行
  • 项目根目录必须包含 build.py 文件
  • hb 命令必须在 PATH 中可用

已知的限制:

  • 全仓编译(--target full)耗时较长(10-30 分钟)
  • 首次编译需要下载依赖包
  • ccache 未安装时会禁用编译缓存

详细文档

核心脚本

外部资源

コメント