#!/bin/sh

# Script permisivo para archivos modificados - reporta warnings sin fallar el job
set -eu

. "$(dirname "$0")/common.sh"

PHP_FILES="$(list_modified_files \
    '*.php' \
    ':!vendor/**' \
    ':!node_modules/**' \
    ':!storage/**' \
    ':!bootstrap/cache/**' \
    ':!public/**' | tr '\n' ' ')"

if [ -z "${PHP_FILES}" ]; then
    echo "No hay archivos PHP modificados para validar malas prácticas."
    exit 0
fi

if ! command -v ./vendor/bin/phpcs >/dev/null 2>&1; then
    echo "phpcs no esta instalado en la imagen del job."
    exit 1
fi

echo "=== VERIFICACIÓN CON WARNING - Archivos modificados ==="
echo "Validando malas prácticas en: ${PHP_FILES}"

WARNINGS=0
for file in ${PHP_FILES}; do
    if ! ./vendor/bin/phpcs --standard=PSR12 "${file}"; then
        WARNINGS=$((WARNINGS + 1))
        echo "⚠️  WARNING en archivo modificado: ${file}"
    fi
done

if [ ${WARNINGS} -gt 0 ]; then
    echo ""
    echo "⚠️  Se encontraron problemas en ${WARNINGS} archivo(s) modificado(s)."
    echo "Se recomienda revisar y aplicar correcciones."
    echo "Este es un WARNING para archivos existentes."
    exit 0
fi

echo "✅ Todos los archivos modificados cumplen con PSR12."
