summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile3
-rwxr-xr-xhack/verify-gofmt.sh24
2 files changed, 23 insertions, 4 deletions
diff --git a/Makefile b/Makefile
index e921b92eb..7be742688 100644
--- a/Makefile
+++ b/Makefile
@@ -72,6 +72,9 @@ lint: .gopathok
gofmt:
@./hack/verify-gofmt.sh
+fix_gofmt:
+ @./hack/verify-gofmt.sh -f
+
conmon:
$(MAKE) -C $@
diff --git a/hack/verify-gofmt.sh b/hack/verify-gofmt.sh
index a2efbe1df..c11ab3adb 100755
--- a/hack/verify-gofmt.sh
+++ b/hack/verify-gofmt.sh
@@ -12,11 +12,27 @@ find_files() {
\) -name '*.go' \
-not \( -wholename './_output/*' \)
}
-
+FIX=0
GOFMT="gofmt -s"
bad_files=$(find_files | xargs $GOFMT -l)
+
+while getopts "f?:" opt; do
+ case "$opt" in
+ f) FIX=1
+ ;;
+ esac
+done
+
if [[ -n "${bad_files}" ]]; then
- echo "!!! '$GOFMT' needs to be run on the following files: "
- echo "${bad_files}"
- exit 1
+ if (($FIX == 1)) ; then
+ echo "Correcting the following files:"
+ echo "${bad_files}"
+ while read -r go_file; do
+ gofmt -s -w $go_file
+ done <<< "${bad_files}"
+ else
+ echo "!!! '$GOFMT' needs to be run on the following files: "
+ echo "${bad_files}"
+ exit 1
+ fi
fi