58 lines
1.8 KiB
Bash
Executable File
58 lines
1.8 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Script para ejecutar clang-tidy en múltiples directorios
|
|
# Uso: ./run_clang-tidy.sh [--fix]
|
|
# --fix: Aplica las correcciones automáticamente (opcional)
|
|
|
|
# Detectar si se pasó el parámetro --fix
|
|
FIX_FLAG=""
|
|
if [[ "$1" == "--fix" ]]; then
|
|
FIX_FLAG="--fix"
|
|
echo "Modo: Aplicando correcciones automáticamente (--fix)"
|
|
else
|
|
echo "Modo: Solo análisis (sin --fix)"
|
|
fi
|
|
echo
|
|
|
|
# Lista de rutas donde ejecutar clang-tidy
|
|
PATHS=(
|
|
"/home/sergio/gitea/coffee_crisis_arcade_edition/source"
|
|
"/home/sergio/gitea/coffee_crisis_arcade_edition/source/rendering"
|
|
"/home/sergio/gitea/coffee_crisis_arcade_edition/source/rendering/opengl"
|
|
"/home/sergio/gitea/coffee_crisis_arcade_edition/source/sections"
|
|
"/home/sergio/gitea/coffee_crisis_arcade_edition/source/ui"
|
|
)
|
|
|
|
# Ruta del directorio build (relativa desde donde se ejecuta el script)
|
|
BUILD_DIR="/home/sergio/gitea/coffee_crisis_arcade_edition/build/"
|
|
|
|
# Función para procesar un directorio
|
|
process_directory() {
|
|
local dir="$1"
|
|
|
|
echo "=== Procesando directorio: $dir ==="
|
|
|
|
# Verificar que el directorio existe
|
|
if [[ ! -d "$dir" ]]; then
|
|
echo "Error: El directorio $dir no existe"
|
|
return 1
|
|
fi
|
|
|
|
# Cambiar al directorio y ejecutar find con -maxdepth 1 para un solo nivel
|
|
cd "$dir" || return 1
|
|
|
|
# Buscar archivos .cpp, .h, .hpp solo en el nivel actual (no subdirectorios)
|
|
find . -maxdepth 1 \( -name '*.cpp' -o -name '*.h' -o -name '*.hpp' \) -print0 | \
|
|
xargs -0 -P4 -I{} bash -c 'echo "Procesando: {}"; clang-tidy {} -p '"$BUILD_DIR"' '"$FIX_FLAG"
|
|
|
|
echo "=== Completado: $dir ==="
|
|
echo
|
|
}
|
|
|
|
# Procesar cada directorio en la lista
|
|
for path in "${PATHS[@]}"; do
|
|
process_directory "$path"
|
|
done
|
|
|
|
echo "¡Proceso completado para todos los directorios!"
|