#!/bin/bash

# SMF Core 项目清理脚本
# 此脚本用于清理构建文件、临时文件和缓存

# 错误时退出
set -e

echo "========================================"
echo "开始清理 SMF Core 项目"
echo "========================================"

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

echo "运行 Maven 清理..."
mvn clean

echo "\n清理 Maven 本地仓库缓存..."
find .m2/repository -name "*.lastUpdated" -delete 2>/dev/null || true
find .m2/repository -name "resolver-status.properties" -delete 2>/dev/null || true

echo "\n清理 IDE 临时文件..."
find . -name ".idea" -type d -exec rm -rf {} \; 2>/dev/null || true
find . -name "*.iml" -delete 2>/dev/null || true
find . -name ".classpath" -delete 2>/dev/null || true
find . -name ".project" -delete 2>/dev/null || true
find . -name "*.launch" -delete 2>/dev/null || true
find . -name "atlassian-ide-plugin.xml" -delete 2>/dev/null || true
find . -name "com_crashlytics_export_strings.xml" -delete 2>/dev/null || true
find . -name "crashlytics.properties" -delete 2>/dev/null || true
find . -name "crashlytics-build.properties" -delete 2>/dev/null || true

echo "\n清理操作系统生成的文件..."
find . -name "Thumbs.db" -delete 2>/dev/null || true
find . -name ".DS_Store" -delete 2>/dev/null || true
find . -name "__MACOSX" -type d -exec rm -rf {} \; 2>/dev/null || true

echo "\n清理日志文件..."
rm -rf logs/* 2>/dev/null || true

# 清理测试报告目录
echo "\n清理测试报告..."
rm -rf target/surefire-reports/ 2>/dev/null || true
rm -rf target/failsafe-reports/ 2>/dev/null || true

echo "\n========================================"
echo "清理完成!"
echo "========================================"
echo "项目已恢复到初始状态,所有构建文件和临时文件已删除。"