#!/bin/bash

# build_release.sh
# Usage:
#   ./build_release.sh
#   ./build_release.sh /path/to/settings.xml

set -e  # 遇错立即退出

# 保存原始目录(实际上我们用子 shell 避免污染,但保持结构清晰)
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"

# 向上两级:git_bash/ → build_script/ → ModelVis/
BUILD_DIR="$(dirname "$SCRIPT_DIR")"
MODELVIS_DIR="$(dirname "$BUILD_DIR")"

# === Step 1: 调用 install_elk.sh ===
INSTALL_SCRIPT="$SCRIPT_DIR/install_elk.sh"
if [ ! -f "$INSTALL_SCRIPT" ]; then
    echo "❌ install_elk.sh not found at: $INSTALL_SCRIPT" >&2
    exit 1
fi

chmod +x "$INSTALL_SCRIPT"

echo "🚀 Step 1: Building and installing ELKRunner..."
if [ $# -eq 1 ]; then
    "$INSTALL_SCRIPT" "$1"
else
    "$INSTALL_SCRIPT"
fi

# === Step 2: 进入 app 目录并构建 Tauri ===
APP_DIR="$MODELVIS_DIR/app"
if [ ! -d "$APP_DIR" ]; then
    echo "❌ Tauri app directory not found: $APP_DIR" >&2
    exit 1
fi

(
    cd "$APP_DIR" || exit 1

    echo "📦 Step 2: Running pnpm install..."
    pnpm install

    echo "⚙️ Step 3: Running pnpm run tauri-release..."
    pnpm run tauri-release

    echo "✅ Release build completed successfully!"
)