From 2d170afaf0e9bf21aec990d1a6f4f0d300b828f7 Mon Sep 17 00:00:00 2001 From: Hyung-Kyu Choi Date: Tue, 26 Jun 2018 10:24:23 +0900 Subject: [PATCH] build: clean go build cache when necessary - clean go build cache when necessary Signed-off-by: Hyung-Kyu Choi --- Makefile | 1 + build/clean_go_build_cache.sh | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+) create mode 100755 build/clean_go_build_cache.sh diff --git a/Makefile b/Makefile index 5cb9231a18..0c1bb3bce7 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 0000000000..42a9799049 --- /dev/null +++ b/build/clean_go_build_cache.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +function version_gt() { test "$(printf '%s\n' "$@" | sort -V | head -n 1)" != "$1"; } +function go_version { + version=$(go version) + echo $version + regex="([0-9].[0-9]+.[0-9])" + if [[ $version =~ $regex ]]; then + echo ${BASH_REMATCH[1]} + fi +} + +golang_version=$(go_version) + +# 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