#!/usr/bin/env bash ###### script header ###### lib=$(realpath @@BASE_LIB@@) || exit 1 stat "${lib}" >> /dev/null || exit 1 # shellcheck source=../sh/lib.bash if ! source "${lib}"; then echo "Error: could not find import" exit 1 fi shfmt=$(realpath @@SHFMT@@) stat "${shfmt}" >> /dev/null cd "${BUILD_WORKSPACE_DIRECTORY}" ###### script body ###### scriptsStr=$(${shfmt} -f "${BUILD_WORKSPACE_DIRECTORY}") readarray -t <<< "${scriptsStr}" scripts=("${MAPFILE[@]}") excludeDirs=( "internal/helm/charts/cilium" "build" "docs/node_modules" ) echo "The following scripts are excluded and won't be formatted with shfmt:" for exclude in "${excludeDirs[@]}"; do for i in "${!scripts[@]}"; do if [[ ${scripts[i]} == "${BUILD_WORKSPACE_DIRECTORY}/${exclude}"* ]]; then echo " ${scripts[i]}" unset 'scripts[i]' fi done done echo "Formatting the following scripts with shfmt:" for script in "${scripts[@]}"; do echo " ${script}" done ${shfmt} -i 2 -s -w -sr "${scripts[@]}"