From 70a7b84dabf3e8dc292f0aaf966a10ba9a8707f8 Mon Sep 17 00:00:00 2001 From: Mikkel Jeppesen <2756925+Duckle29@users.noreply.github.com> Date: Tue, 28 May 2019 20:38:47 +0200 Subject: [PATCH] Clean up duped filenames om qmk.fm (#5822) Removes all binaries that don't correspond to an entry in the .keyboards file --- util/travis_compiled_push.sh | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/util/travis_compiled_push.sh b/util/travis_compiled_push.sh index d76030f831..25ed83fb03 100755 --- a/util/travis_compiled_push.sh +++ b/util/travis_compiled_push.sh @@ -55,8 +55,29 @@ if [[ "$TRAVIS_COMMIT_MESSAGE" != *"[skip build]"* ]] ; then # rm -f compiled/*.hex # ignore errors here - # In theory, this is more flexible, and will allow for additional expansion of additional types of files and other names - mv ../qmk_firmware/*_default.*[hb][ei][xn] ./compiled/ || true + # In theory, this is more flexible, and will allow for additional expansion of additional types of files and other names + mv ../qmk_firmware/*_default.*{hex,bin} ./compiled/ || true + + # get the list of keyboards + readarray -t keyboards < .keyboards + + # replace / with _ + keyboards=("${keyboards[@]//[\/]/_}") + + # remove all binaries that don't belong to a keyboard in .keyboards + for file in "./compiled"/* ; do + match=0 + for keyboard in "${keyboards[@]}" ; do + if [[ ${file##*/} = "${keyboard}_default.bin" ]] || [[ ${file##*/} = "${keyboard}_default.hex" ]]; then + match=1 + break + fi + done + if [[ $match = 0 ]]; then + echo "Removing deprecated binary: $file" + rm "$file" + fi + done bash _util/generate_keyboard_page.sh git add -A