#!/bin/bash

# 🏁 Auto-detectar ruta base del proyecto
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"

# 📁 Ruta al build
BUILD_DIR="$PROJECT_ROOT/build"

# 📄 Archivo de mapping personalizado
MAPPING_FILE="$SCRIPT_DIR/sdl3_mapping.imp"

# 📦 Generar compile_commands.json
echo "🔧 Generando compile_commands.json..."
cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -S "$PROJECT_ROOT" -B "$BUILD_DIR"

# 🛠️ Ejecutar IWYU con fix_includes.py
echo "🚀 Ejecutando IWYU..."
iwyu_tool.py -p "$BUILD_DIR" -- -Xiwyu --mapping_file="$MAPPING_FILE" -Xiwyu --verbose=3 \
| python3 /usr/bin/fix_includes.py --update_comments --reorder --nosafe_headers --dry_run

# 🧹 Reemplazar // for por // Para en líneas de #include
echo "✍️ Corrigiendo comentarios en includes..."
find "$PROJECT_ROOT" -type f \( -name "*.cpp" -o -name "*.h" \) -exec \
sed -i '/^#include .*\/\/ for/s/\/\/ for/\/\/ Para/' {} +

echo "✅ Script completado."
