scripts: fix shellws check

Originally this was intended to be a clean up. But after further
investigation the original code didn't work. It didn't detect tabs in
shell scripts.

Signed-off-by: Ivan Valdes <ivan@vald.es>
This commit is contained in:
Ivan Valdes 2024-12-11 23:05:31 -08:00
parent fe14e244f8
commit fad495ad32
No known key found for this signature in database
GPG Key ID: 4037D37741ED0CC5

View File

@ -340,24 +340,15 @@ function shellcheck_pass {
} }
function shellws_pass { function shellws_pass {
TAB=$'\t'
log_callout "Ensuring no tab-based indention in shell scripts" log_callout "Ensuring no tab-based indention in shell scripts"
local files local files
files=$(find ./ -name '*.sh' -print0 | xargs -0 ) if files=$(find . -name '*.sh' -print0 | xargs -0 grep -E -n $'^\s*\t'); then
# shellcheck disable=SC2206 log_error "FAIL: found tab-based indention in the following bash scripts. Use ' ' (double space):"
files=( ${files[@]} "./scripts/build-binary.sh" "./scripts/build-docker.sh" "./scripts/release.sh" ) log_error "${files}"
log_cmd "grep -E -n $'^ *${TAB}' ${files[*]}" log_warning "Suggestion: run \"make fix\" to address the issue."
# shellcheck disable=SC2086 return 255
if grep -E -n $'^ *${TAB}' "${files[@]}" | sed $'s|${TAB}|[\\\\tab]|g'; then
log_error "FAIL: found tab-based indention in bash scripts. Use ' ' (double space)."
local files_with_tabs
files_with_tabs=$(grep -E -l $'^ *\\t' "${files[@]}")
log_warning "Try: sed -i 's|\\t| |g' $files_with_tabs"
return 1
else
log_success "SUCCESS: no tabulators found."
return 0
fi fi
log_success "SUCCESS: no tabulators found."
} }
function markdown_marker_pass { function markdown_marker_pass {