#!/bin/bash

# CodePush 发布脚本 - 开发环境配置
# 用法: ./scripts/release-codepush-dev.sh [参数]
# 示例: ./scripts/release-codepush-dev.sh --platform ios --version 1.0.0

# 获取脚本所在目录
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"

# 切换到项目根目录
cd "$PROJECT_ROOT"

# ============================================
# 环境变量配置（开发环境默认值）
# ============================================
# 请根据实际情况修改以下环境变量

# CodePush 服务器地址（必填）
export CODE_PUSH_SERVER_URL="${CODE_PUSH_SERVER_URL:-https://code-push.bminfraaws-prod.com}"

# CodePush 访问密钥（必填）
export ACCESS_KEY="${ACCESS_KEY:-5u9un34l5A8fYIeHpPtwUEYc8QRg4ksvOXqog}"

# CodePush 应用名称（可选，可通过命令行参数覆盖）
export CODE_PUSH_APP="${CODE_PUSH_APP:-multiple-bundle-demo-android}"

# 部署环境（可选，可通过命令行参数覆盖）
# 可选值: Staging, Production
export CODE_PUSH_DEPLOYMENT="${CODE_PUSH_DEPLOYMENT:-Staging}"

# 平台（可选，可通过命令行参数覆盖）
# 可选值: ios, android
export CODE_PUSH_PLATFORM="${CODE_PUSH_PLATFORM:-android}"

# 原生应用版本号（可选，可通过命令行参数覆盖）
export CODE_PUSH_VERSION="${CODE_PUSH_VERSION:-1.0.0}"

# 发布描述（可选）
export CODE_PUSH_DESCRIPTION="${CODE_PUSH_DESCRIPTION:-Development release}"

# 是否强制更新（可选，默认 false）
# 可选值: true, false, 1, 0
export CODE_PUSH_MANDATORY="${CODE_PUSH_MANDATORY:-false}"

# 灰度百分比（可选，默认 100）
# 范围: 1-100
export CODE_PUSH_ROLLOUT="${CODE_PUSH_ROLLOUT:-0}"

# 是否禁用（可选，默认 false）
# 可选值: true, false, 1, 0
export CODE_PUSH_IS_DISABLED="${CODE_PUSH_IS_DISABLED:-false}"

# ============================================
# 执行发布脚本
# ============================================

echo "=========================================="
echo "CodePush Release - Development Environment"
echo "=========================================="
echo ""
echo "环境变量配置:"
echo "  CODE_PUSH_SERVER_URL: $CODE_PUSH_SERVER_URL"
echo "  CODE_PUSH_APP: $CODE_PUSH_APP"
echo "  CODE_PUSH_DEPLOYMENT: $CODE_PUSH_DEPLOYMENT"
echo "  CODE_PUSH_PLATFORM: $CODE_PUSH_PLATFORM"
echo "  CODE_PUSH_VERSION: $CODE_PUSH_VERSION"
echo "  CODE_PUSH_DESCRIPTION: $CODE_PUSH_DESCRIPTION"
echo "  CODE_PUSH_MANDATORY: $CODE_PUSH_MANDATORY"
echo "  CODE_PUSH_ROLLOUT: $CODE_PUSH_ROLLOUT"
echo "  CODE_PUSH_IS_DISABLED: $CODE_PUSH_IS_DISABLED"
echo ""
echo "=========================================="
echo ""

# 检查 Node.js 是否安装
if ! command -v node &> /dev/null; then
    echo "错误: 未找到 Node.js，请先安装 Node.js"
    exit 1
fi

# 检查 release-codepush.js 是否存在
if [ ! -f "$SCRIPT_DIR/release-codepush.js" ]; then
    echo "错误: 未找到 release-codepush.js"
    exit 1
fi

# 执行发布脚本，传递所有命令行参数
node "$SCRIPT_DIR/release-codepush.js" "$@"

