From 9eb73e35ab8688052e9e1decd071d867553db9af Mon Sep 17 00:00:00 2001 From: Arlind Date: Sun, 8 Jun 2025 23:29:51 +0200 Subject: [PATCH] Update .gitea/workflows/ci.yml --- .gitea/workflows/ci.yml | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 2efa79d..2fbd836 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -197,13 +197,16 @@ jobs: } declare -A name_counts=() + declare -A name_dirs=() duplicates=() shopt -s nullglob for dir in "${DANSER_SKINS_DIR}"/*; do [ -d "$dir" ] || continue - name=$(basename "$dir" | tr -d $'\r\n') + dir_base=$(basename "$dir" | tr -d $'\r\n') + name="$dir_base" + ini=$(find "$dir" -maxdepth 1 -iname "skin.ini" | head -n1 || true) if [ -f "$ini" ]; then line=$(grep -i '^[[:space:]]*Name:' "$ini" | head -n1 || true) @@ -215,18 +218,29 @@ jobs: fi name_counts["$name"]=$(( ${name_counts["$name"]:-0} + 1 )) + if [ -z "${name_dirs[$name]:-}" ]; then + name_dirs["$name"]="$dir_base" + else + name_dirs["$name"]+=",${dir_base}" + fi done shopt -u nullglob for nm in "${!name_counts[@]}"; do if [ "${name_counts[$nm]}" -gt 1 ]; then - duplicates+=("$nm (${name_counts[$nm]} skins)") + duplicates+=("$nm") fi done if [ "${#duplicates[@]}" -gt 0 ]; then echo "⚠️ Duplicate skin.ini Names found:" - printf ' • %s\n' "${duplicates[@]}" + for nm in "${duplicates[@]}"; do + IFS=',' read -r -a dirs <<< "${name_dirs[$nm]}" + echo " • $nm (${name_counts[$nm]} skins):" + for d in "${dirs[@]}"; do + echo " - $d" + done + done else echo "✓ No duplicate skin.ini Names detected." fi