mirror of
https://github.com/kubernetes-sigs/kind.git
synced 2025-11-30 23:16:04 +07:00
refactor go setup
This commit is contained in:
3
Makefile
3
Makefile
@@ -30,9 +30,8 @@ COMMIT?=$(shell git rev-parse HEAD 2>/dev/null)
|
||||
################################################################################
|
||||
# ========================= Setup Go With Gimme ================================
|
||||
# go version to use for build etc.
|
||||
GO_VERSION?=$(shell cat ./.go-version)
|
||||
# setup correct go version with gimme
|
||||
PATH:=$(shell eval "$$(hack/third_party/gimme/gimme $(GO_VERSION))" && echo "$${PATH}")
|
||||
PATH:=$(shell . hack/build/setup-go.sh && echo "$${PATH}")
|
||||
export PATH
|
||||
# work around broken PATH export
|
||||
SHELL:=env PATH=$(PATH) $(SHELL)
|
||||
|
||||
29
hack/build/setup-go.sh
Executable file
29
hack/build/setup-go.sh
Executable file
@@ -0,0 +1,29 @@
|
||||
#!/bin/bash
|
||||
# Copyright 2020 The Kubernetes Authors.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
# script to setup go version with gimme as needed
|
||||
# MUST BE RUN FROM THE REPO ROOT DIRECTORY
|
||||
|
||||
# read go-version file unless GO_VERSION is set
|
||||
GO_VERSION="${GO_VERSION:-"$(cat .go-version)"}"
|
||||
|
||||
# only setup go if we haven't set FORCE_HOST_GO, or `go version` doesn't match
|
||||
# go version output looks like:
|
||||
# go version go1.14.5 darwin/amd64
|
||||
if ! ([ -n "${FORCE_HOST_GO:-}" ] || \
|
||||
(command -v go >/dev/null && [ "$(go version | cut -d' ' -f3)" = "go${GO_VERSION}" ])); then
|
||||
# eval because the output of this is shell to set PATH etc.
|
||||
eval "$(hack/third_party/gimme/gimme "${GO_VERSION}")"
|
||||
fi
|
||||
Reference in New Issue
Block a user