#!/bin/bash

# SMF Core 项目构建脚本
# 此脚本用于编译、测试和打包项目

# 错误时退出
set -e

echo "========================================"
echo "开始构建 SMF Core 项目"
echo "========================================"

# 项目根目录
PROJECT_ROOT=$(dirname "$(dirname "$0")")
cd "$PROJECT_ROOT"

echo "检查 Maven 是否安装..."
if ! command -v mvn &> /dev/null; then
  echo "错误: Maven 未安装或不在 PATH 中"
  echo "请安装 Maven 3.6+ 并将其添加到 PATH 环境变量"
  exit 1
fi

MAVEN_VERSION=$(mvn -version | grep "Apache Maven" | awk '{print $3}')
echo "检测到 Maven 版本: $MAVEN_VERSION"

echo "\n清理项目..."
mvn clean

echo "\n编译项目..."
mvn compile

echo "\n运行测试..."
mvn test

echo "\n打包项目..."
mvn package -DskipTests

echo "\n生成源码包..."
mvn source:jar -DskipTests

echo "\n========================================"
echo "构建完成!"
echo "========================================"
echo "可执行 JAR 文件位置: $(find target -name "*.jar" | grep -v "sources.jar" | grep -v "tests.jar")"
echo "源码包位置: $(find target -name "*-sources.jar")"