@@ -36,38 +36,35 @@ jobs:
3636 # --- 1. EXTRACCIÓN Y DEFINICIÓN DE RUTAS ---
3737
3838 # 1. Rutas dinámicas (yq)
39- # Extrae las rutas del archivo .codacy.yml. Si falla o no encuentra la clave, queda vacío .
39+ # Extrae las exclusiones definidas por el usuario en el YAML .
4040 EXCLUDES=$(yq '.exclude_paths[]' "$FILE_NAME" 2>/dev/null || true)
4141
42- # 2. Definimos las rutas estáticas de control (¡USANDO LA BARRA INICIAL PARA FORZAR LA EXCLUSIÓN ABSOLUTA!)
43- STATIC_IGNORES="/.github/**/*"$'\n'"$FILE_NAME"
42+ # 2. Rutas estáticas esenciales
43+ # Solo necesitamos excluir explícitamente el archivo de configuración, ya que
44+ # todo lo demás (.github, tests, READMEs) queda fuera del patrón de inclusión "src/main/**".
45+ STATIC_IGNORES="$FILE_NAME"
4446
45- # 3. Concatenamos todas las rutas
47+ # 3. Concatenamos todas las rutas a ser negadas
4648 ALL_PATHS="$EXCLUDES"$'\n'"$STATIC_IGNORES"
4749
48- # Verificación
49- if [ ! -f "$FILE_NAME" ]; then
50- echo "::warning::File $FILE_NAME not found. Basic ignored configuration file will be used."
51- fi
50+ # --- 2. GENERACIÓN DEL FORMATO YAML (NUEVA ESTRATEGIA) ---
5251
53- # --- 2. GENERACIÓN DEL FORMATO YAML ---
54-
55- # 4. Inicializamos la lista de salida: Inclusión Global solo de lo Visible
52+ # 4. Inicializamos la lista de salida: INCLUSIÓN ÚNICA Y ESPECÍFICA
5653 FORMATTED_LIST="relevant_files:"$'\n'
57- FORMATTED_LIST="$FORMATTED_LIST"$'\n'"- \"**\"" # Única regla de inclusión, no incluye dot directories
54+ # Patrón de inclusión: Solo archivos dentro de src/main y sus subcarpetas.
55+ FORMATTED_LIST="$FORMATTED_LIST"$'\n'"- \"src/main/**\""
5856
59- # 5. Iteramos sobre todas las rutas para añadir las exclusiones (negaciones)
60- # Esto garantiza que las rutas de exclusión estén después de la inclusión.
57+ # 5. Iteramos sobre todas las rutas para añadir las exclusiones
6158 while IFS= read -r line; do
6259 if [[ -n "$line" ]]; then
63- # Generamos la negación con comillas: - "!ruta"
60+ # Generamos la negación (esto respeta si codacy.yml excluye algo dentro de src/main)
6461 FORMATTED_LIST="$FORMATTED_LIST"$'\n'"- \"!${line}\""
6562 fi
6663 done <<< "$ALL_PATHS"
6764
6865 # --- 3. GUARDAR EL OUTPUT ---
6966
70- # Guardamos el resultado final en la variable de salida
67+ # Guardamos el resultado final
7168 {
7269 echo 'filters<<EOF'
7370 echo "$FORMATTED_LIST"
0 commit comments