Bladeren bron

Clean up duped filenames om qmk.fm (#5822)

Removes all binaries that don't correspond to an entry in the .keyboards file
Mikkel Jeppesen 6 jaren geleden
bovenliggende
commit
70a7b84dab
1 gewijzigde bestanden met toevoegingen van 23 en 2 verwijderingen
  1. 23 2
      util/travis_compiled_push.sh

+ 23 - 2
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