#!/bin/bash
# DevOps 监听器启动脚本

set -e

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
VENV_PATH="$SCRIPT_DIR/path/to/venv"

echo "=========================================="
echo "RuoYi-Cloud DevOps 自动化部署系统"
echo "=========================================="

# 检查 Python 环境
if ! command -v python3 &> /dev/null; then
    echo "错误: 未找到 python3"
    exit 1
fi

# 检测操作系统
OS_TYPE="$(uname -s)"
echo "检测到操作系统: $OS_TYPE"

# 如果是 macOS，设置虚拟环境
if [[ "$OS_TYPE" == "Darwin" ]]; then
    echo "macOS 系统，配置虚拟环境..."

    # 检查虚拟环境是否存在
    if [ ! -f "$VENV_PATH/bin/activate" ]; then
        echo "虚拟环境不存在，创建虚拟环境: $VENV_PATH"
        python3 -m venv "$VENV_PATH"
    fi

    # 激活虚拟环境
    echo "激活虚拟环境: $VENV_PATH"
    source "$VENV_PATH/bin/activate"
    echo "✓ 虚拟环境已激活"
fi

# 检查依赖（如果在虚拟环境中，跳过系统级安装）
if [ -z "$VIRTUAL_ENV" ]; then
    echo "检查 Python 依赖..."
    if ! python3 -c "import yaml" 2>/dev/null; then
        echo "警告: 未找到 PyYAML，尝试安装..."
        pip3 install --user PyYAML || echo "请手动安装: pip3 install --user PyYAML"
    fi
else
    echo "检测到虚拟环境: $VIRTUAL_ENV"
    if ! python3 -c "import yaml" 2>/dev/null; then
        echo "安装 PyYAML..."
        pip install PyYAML
    fi
fi

# 进入项目根目录
cd "$PROJECT_ROOT"

# 启动监听器
echo "启动 Git 监听器..."
python3 .devops/monitor.py "$@"
