#!/bin/bash

# 检查环境参数
if [ -z "$1" ]; then
    echo "请指定构建环境: dev, test, 或 prod"
    echo "使用方法: ./build.sh <environment>"
    echo "例如: ./build.sh dev"
    exit 1
fi

# 验证环境参数
ENV=$1
case $ENV in
    dev|test|prod)
        ;;
    *)
        echo "错误: 环境必须是 dev, test, 或 prod"
        exit 1
        ;;
esac

# 插件名称
PLUGIN_NAME="seel-worry-free-purchase"
VERSION=$(grep "Version:" seel-worry-free-purchase.php | awk -F': ' '{print $2}' | tr -d '\r' | tr -d ' ')
BUILD_DIR="./build"
DIST_DIR="./dist"
TEMP_FILE="/tmp/seel-temp-file"

# 根据环境设置变量
case $ENV in
    dev)
        ENV_SUFFIX="-dev"
        PLUGIN_SUFFIX="[DEV]"
        API_URL="https://api-dev.seel.com"
        ;;
    test)
        ENV_SUFFIX="-test"
        PLUGIN_SUFFIX="[TEST]"
        API_URL="https://api-test.seel.com"
        ;;
    prod)
        ENV_SUFFIX=""
        PLUGIN_SUFFIX=""
        API_URL="https://api.seel.com"
        ;;
esac

# 清理旧的构建文件
echo "Cleaning up old build files..."
rm -rf "$BUILD_DIR" "$DIST_DIR"
mkdir -p "$BUILD_DIR/$PLUGIN_NAME"
mkdir -p "$DIST_DIR"

# 复制必要的文件和目录
echo "Copying plugin files..."
cp -r \
    admin \
    assets \
    includes \
    languages \
    public \
    index.php \
    LICENSE.txt \
    README.txt \
    seel-worry-free-purchase.php \
    uninstall.php \
    "$BUILD_DIR/$PLUGIN_NAME/"

# 更新环境相关的配置
echo "Updating environment configurations..."
# 更新 API URL 和环境标识
sed -i.bak "
    s/define('SEELWOPU_ENV'.*/define('SEELWOPU_ENV', '$ENV');/g;
    s/Plugin Name: *Seel Worry-Free Purchase.*/Plugin Name:       Seel Worry-Free Purchase $PLUGIN_SUFFIX/g
" "$BUILD_DIR/$PLUGIN_NAME/seel-worry-free-purchase.php"
rm -f "$BUILD_DIR/$PLUGIN_NAME/seel-worry-free-purchase.php.bak"

# 删除不必要的文件
echo "Removing unnecessary files..."
find "$BUILD_DIR" -name ".DS_Store" -delete
find "$BUILD_DIR" -name "*.map" -delete
find "$BUILD_DIR" -name ".git*" -delete
find "$BUILD_DIR" -name "node_modules" -type d -exec rm -rf {} +
find "$BUILD_DIR" -name "package*.json" -delete
find "$BUILD_DIR" -name "composer.*" -delete
find "$BUILD_DIR" -name "phpunit.*" -delete
find "$BUILD_DIR" -name "*.log" -delete
find "$BUILD_DIR" -name "*.zip" -delete

# 创建 zip 文件
echo "Creating zip archive for $ENV environment..."
cd "$BUILD_DIR"
ZIP_NAME="../$DIST_DIR/$PLUGIN_NAME-$VERSION$ENV_SUFFIX.zip"
zip -r "$ZIP_NAME" "$PLUGIN_NAME"
cd ..

# 清理构建目录
echo "Cleaning up build directory..."
rm -rf "$BUILD_DIR"

echo "Build complete!"
echo "Environment: $ENV"
echo "Plugin archive created at: $ZIP_NAME"
echo "API URL: $API_URL"
echo "Plugin Name: Seel Worry-Free Purchase $PLUGIN_SUFFIX" 