feat: 添加 HarmonyOS SDK 本地发版脚本

scripts/publish.sh — 接受版本号参数,更新 oh-package.json5 并执行 ohpm publish。

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
这个提交包含在:
XuqmGroup 2026-04-29 14:24:51 +08:00
父节点 7c5f327f0b
当前提交 5c97b669ae

58
xuqm-sdk/scripts/publish.sh 可执行文件
查看文件

@ -0,0 +1,58 @@
#!/usr/bin/env bash
# XuqmGroup HarmonyOS SDK 本地发版脚本
# 使用方式:
# bash scripts/publish.sh 1.0.0
# 或直接执行(交互式输入版本号):
# bash scripts/publish.sh
set -e
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
SDK_DIR="$(dirname "$SCRIPT_DIR")" # xuqm-sdk/
PKG_FILE="$SDK_DIR/oh-package.json5"
# ── 版本号 ────────────────────────────────────────────────────────────────────
VERSION="${1:-}"
if [ -z "$VERSION" ]; then
read -rp "请输入发布版本号(如 1.0.0: " VERSION
fi
if [ -z "$VERSION" ]; then
echo "❌ 版本号不能为空" >&2
exit 1
fi
# ── 检查 ohpm ─────────────────────────────────────────────────────────────────
if ! command -v ohpm &>/dev/null; then
echo "❌ 未找到 ohpm 命令,请安装 DevEco Studio 并将 ohpm 加入 PATH" >&2
echo " macOS 默认路径:~/Library/Huawei/ohpm/bin" >&2
exit 1
fi
if ! ohpm whoami &>/dev/null; then
echo "❌ 未登录 ohpm,请先执行ohpm login" >&2
exit 1
fi
# ── 更新版本号 ────────────────────────────────────────────────────────────────
echo "→ 更新 oh-package.json5 版本为 $VERSION ..."
if [[ "$(uname)" == "Darwin" ]]; then
sed -i '' "s/\"version\":[[:space:]]*\"[^\"]*\"/\"version\": \"$VERSION\"/" "$PKG_FILE"
else
sed -i "s/\"version\":[[:space:]]*\"[^\"]*\"/\"version\": \"$VERSION\"/" "$PKG_FILE"
fi
# 验证更新结果
ACTUAL=$(grep '"version"' "$PKG_FILE" | head -1)
echo " $ACTUAL"
# ── 发布 ──────────────────────────────────────────────────────────────────────
echo "→ 发布 @xuqm/harmony-sdk@$VERSION 到 ohpm ..."
cd "$SDK_DIR"
ohpm publish
echo ""
echo "✅ HarmonyOS SDK $VERSION 发布成功"
echo " 集成方式ohpm install @xuqm/harmony-sdk@$VERSION"