mirror of https://github.com/mongodb/mongo
42 lines
801 B
Bash
Executable File
42 lines
801 B
Bash
Executable File
#!/bin/bash
|
|
set +o errexit
|
|
|
|
shfmt=shfmt
|
|
if [ -n "$SHFMT_PATH" ]; then
|
|
shfmt=$(readlink $SHFMT_PATH)
|
|
fi
|
|
|
|
if [ -n "$BUILD_WORKSPACE_DIRECTORY" ]; then
|
|
cd $BUILD_WORKSPACE_DIRECTORY
|
|
fi
|
|
|
|
if ! command -v $shfmt &>/dev/null; then
|
|
echo "Could not find shfmt at $shfmt"
|
|
exit 1
|
|
fi
|
|
|
|
lint_dirs="evergreen"
|
|
|
|
if [ "$1" = "fix" ]; then
|
|
$shfmt -w -i 2 -bn -sr "$lint_dirs"
|
|
fi
|
|
|
|
output_file="shfmt_output.txt"
|
|
exit_code=0
|
|
|
|
$shfmt -d -i 2 -bn -sr "$lint_dirs" >"$output_file"
|
|
if [ -s "$output_file" ]; then
|
|
echo "ERROR: Found formatting errors in shell script files in directories: $lint_dirs"
|
|
echo ""
|
|
cat "$output_file"
|
|
echo ""
|
|
echo "To fix formatting errors run"
|
|
echo ""
|
|
echo " ./buildscripts/shellscripts-linters.sh fix"
|
|
echo ""
|
|
exit_code=1
|
|
fi
|
|
rm -rf "$output_file"
|
|
|
|
exit "$exit_code"
|