From 61f606e192ad67b4819a909a6f1b18c41e33db2d Mon Sep 17 00:00:00 2001 From: baude Date: Tue, 12 Dec 2017 12:40:20 -0600 Subject: Add fix_gofmt target fix_gofmt will run gofmt -s -w on files that need to be formatted. Useful for developers prior to checking code in. Signed-off-by: baude Closes: #125 Approved by: baude --- Makefile | 3 +++ hack/verify-gofmt.sh | 24 ++++++++++++++++++++---- 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 -- cgit v1.2.3-54-g00ecf