2023-03-14 12:21:50 -04:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
2023-03-29 08:13:26 -04:00
|
|
|
###### script header ######
|
|
|
|
|
2023-03-14 12:21:50 -04:00
|
|
|
lib=$(realpath @@BASE_LIB@@) || exit 1
|
2023-03-29 08:13:26 -04:00
|
|
|
stat "${lib}" >> /dev/null || exit 1
|
2023-03-14 12:21:50 -04:00
|
|
|
|
2023-03-16 09:24:53 -04:00
|
|
|
# shellcheck source=../sh/lib.bash
|
2023-03-14 12:21:50 -04:00
|
|
|
if ! source "${lib}"; then
|
|
|
|
echo "Error: could not find import"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
2023-03-29 08:13:26 -04:00
|
|
|
shfmt=$(realpath @@SHFMT@@)
|
|
|
|
stat "${shfmt}" >> /dev/null
|
|
|
|
|
|
|
|
cd "${BUILD_WORKSPACE_DIRECTORY}"
|
|
|
|
|
|
|
|
###### script body ######
|
2023-03-14 12:21:50 -04:00
|
|
|
|
|
|
|
scriptsStr=$(${shfmt} -f "${BUILD_WORKSPACE_DIRECTORY}")
|
|
|
|
readarray -t <<< "${scriptsStr}"
|
|
|
|
scripts=("${MAPFILE[@]}")
|
|
|
|
|
|
|
|
excludeDirs=(
|
2023-12-06 04:01:39 -05:00
|
|
|
"internal/constellation/helm/charts/cilium"
|
2023-03-16 09:24:53 -04:00
|
|
|
"build"
|
2023-03-28 07:38:20 -04:00
|
|
|
"docs/node_modules"
|
2023-12-12 10:00:03 -05:00
|
|
|
"terraform-provider-constellation/examples"
|
2023-03-14 12:21:50 -04:00
|
|
|
)
|
|
|
|
|
2023-03-16 09:24:53 -04:00
|
|
|
echo "The following scripts are excluded and won't be formatted with shfmt:"
|
2023-03-14 12:21:50 -04:00
|
|
|
for exclude in "${excludeDirs[@]}"; do
|
|
|
|
for i in "${!scripts[@]}"; do
|
2023-03-16 09:24:53 -04:00
|
|
|
if [[ ${scripts[i]} == "${BUILD_WORKSPACE_DIRECTORY}/${exclude}"* ]]; then
|
|
|
|
echo " ${scripts[i]}"
|
2023-03-14 12:21:50 -04:00
|
|
|
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[@]}"
|