#!/bin/bash

# Chemin vers le fichier contenant le header de licence
HEADER_FILE="license_header.xml.txt"

# Vérifie si le fichier contenant le header existe
if [[ ! -f "$HEADER_FILE" ]]; then
  echo "Le fichier $HEADER_FILE n'existe pas. Veuillez le créer avant d'exécuter ce script."
  exit 1
fi

# Lit le contenu du header
HEADER_CONTENT=$(<"$HEADER_FILE")

# Ajoute le header après la ligne <?xml ... ?> dans tous les fichiers .xsd, .config et .xml
#find . -type f \( -name "*.xsd" -o -name "*.config" -o -name "*.xml" \) | while read -r FILE; do
find . -type f \( -name "*.vbproj" \) | while read -r FILE; do
  echo "Ajout du header dans $FILE..."

  # Vérifie si le fichier commence par un BOM
  if head -c 3 "$FILE" | grep -q $'\xef\xbb\xbf'; then
    # Le fichier contient un BOM
    echo "Fichier avec BOM détecté : $FILE"
    tail -c +4 "$FILE" > "$FILE.tmp" # Supprime temporairement le BOM
    mv "$FILE.tmp" "$FILE"
    BOM_PRESENT=true
  else
    BOM_PRESENT=false
  fi

  # Insère le header après la ligne <?xml ... ?>
  awk -v header="$HEADER_CONTENT" -v bom="$BOM_PRESENT" '
    BEGIN { if (bom == "true") printf "\xef\xbb\xbf" } # Réinsère le BOM si nécessaire
    /^<\?xml/ { print; print header; next } # Insère le header après <?xml ... ?>
    { print }
  ' "$FILE" > "$FILE.tmp" && mv "$FILE.tmp" "$FILE"
done

echo "Ajout du header terminé."
