59 行
2.3 KiB
Bash
59 行
2.3 KiB
Bash
|
|
#!/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"
|