aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile1
-rwxr-xr-xbuild/clean_go_build_cache.sh10
2 files changed, 11 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index 5cb9231a1..0c1bb3bce 100644
--- a/Makefile
+++ b/Makefile
@@ -41,6 +41,7 @@ lint: ## Run linters.
build/env.sh go run build/ci.go lint
clean:
+ ./build/clean_go_build_cache.sh
rm -fr build/_workspace/pkg/ $(GOBIN)/*
# The devtools target installs tools required for 'go generate'.
diff --git a/build/clean_go_build_cache.sh b/build/clean_go_build_cache.sh
new file mode 100755
index 000000000..e6a523fb4
--- /dev/null
+++ b/build/clean_go_build_cache.sh
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+function version_gt() { test "$(printf '%s\n' "$@" | sort -V | head -n 1)" != "$1"; }
+
+golang_version=$(go version |cut -d' ' -f3 |sed 's/go//')
+
+# Clean go build cache when go version is greater than or equal to 1.10
+if !(version_gt 1.10 $golang_version); then
+ go clean -cache
+fi