66# * legacy
77#
88# The following paths are always excluded:
9- # * release/shared - not keyboards, but files shared with other projects (TODO: move folder to top level)
10- # * release/template - not a keyboard, but a template layout for keyboards (TODO: move folder to top level)
9+ # * experimental/shared - not keyboards, but files shared with other projects
10+ # * release/shared - not keyboards, but files shared with other projects
11+ # * release/template - not a keyboard, but a template layout for keyboards
1112#
1213# Expects global $TARGETS array; does not take this as a parameter due to
1314# spaces in paths which are tedious to avoid
@@ -36,7 +37,7 @@ function collect_build_targets() {
3637 fv_all=true
3738 fi
3839 else
39- (find " $target " -maxdepth 2 -type d -wholename " $target " ' /*/*' | grep -vE ' ^(release/packages|release/shared|release/template)' || true) >> build_targets_temp.txt
40+ (find " $target " -maxdepth 2 -type d -wholename " $target " ' /*/*' | grep -vE ' ^(experimental/shared| release/packages|release/shared|release/template)' || true) >> build_targets_temp.txt
4041 if [[ " $target " == release ]]; then
4142 (find " $target " -maxdepth 2 -type d -wholename ' release/packages/*' | grep -vE ' ^(release/packages/fv_all)' || true) >> build_targets_temp.txt
4243 fv_all=true
@@ -55,6 +56,12 @@ function collect_build_targets() {
5556 elif [[ -f " $target /source/$keyboard_name .kps" ]]; then
5657 # only include targets with a source .kps
5758 echo " $target " >> build_targets.txt
59+ elif [[ -z " $( ls -A " $target " ) " ]]; then
60+ builder_warn " Skipping empty folder '$target '"
61+ elif [[ " $( ls -A " $target " ) " == build ]]; then
62+ builder_warn " Skipping folder '$target ' which contains only build artifacts"
63+ else
64+ builder_die " Could not find a valid package for folder '$target '"
5865 fi
5966 done < build_targets_temp.txt
6067 fi
0 commit comments