mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 19:56:01 +00:00
Remove old::setup_env
This commit is contained in:
parent
f9ca58efe9
commit
bece9bc3f4
@ -548,74 +548,6 @@ EOF
|
||||
fi
|
||||
}
|
||||
|
||||
# kube::golang::old::setup_env will check that the `go` commands is available in
|
||||
# ${PATH}. It will also check that the Go version is good enough for the
|
||||
# Kubernetes build.
|
||||
#
|
||||
# Outputs:
|
||||
# env-var GOPATH points to our local output dir
|
||||
# env-var GOBIN is unset (we want binaries in a predictable place)
|
||||
# env-var GO15VENDOREXPERIMENT=1
|
||||
# current directory is within GOPATH
|
||||
#FIXME: remove this when all callers are converted
|
||||
kube::golang::old::setup_env() {
|
||||
kube::golang::verify_go_version
|
||||
|
||||
# Even in module mode, we need to set GOPATH for `go build` and `go install`
|
||||
# to work. We build various tools (usually via `go install`) from a lot of
|
||||
# scripts.
|
||||
# * We can't set GOBIN because that does not work on cross-compiles.
|
||||
# * We could use `go build -o <something>`, but it's subtle when it comes
|
||||
# to cross-compiles and whether the <something> is a file or a directory,
|
||||
# and EVERY caller has to get it *just* right.
|
||||
# * We could leave GOPATH alone and let `go install` write binaries
|
||||
# wherever the user's GOPATH says (or doesn't say).
|
||||
#
|
||||
# Instead we set it to a phony local path and process the results ourselves.
|
||||
# In particular, GOPATH[0]/bin will be used for `go install`, with
|
||||
# cross-compiles adding an extra directory under that.
|
||||
local go_pkg_dir="${KUBE_GOPATH}/src/${KUBE_GO_PACKAGE}"
|
||||
local go_pkg_basedir
|
||||
go_pkg_basedir=$(dirname "${go_pkg_dir}")
|
||||
|
||||
mkdir -p "${go_pkg_basedir}"
|
||||
|
||||
# TODO: This symlink should be relative.
|
||||
if [[ ! -e "${go_pkg_dir}" || "$(readlink "${go_pkg_dir}")" != "${KUBE_ROOT}" ]]; then
|
||||
ln -snf "${KUBE_ROOT}" "${go_pkg_dir}"
|
||||
fi
|
||||
export GOPATH="${KUBE_GOPATH}"
|
||||
|
||||
# If these are not set, set them now. This ensures that any subsequent
|
||||
# scripts we run (which may call this function again) use the same values.
|
||||
export GOCACHE="${GOCACHE:-"${KUBE_GOPATH}/cache/build"}"
|
||||
export GOMODCACHE="${GOMODCACHE:-"${KUBE_GOPATH}/cache/mod"}"
|
||||
|
||||
# Make sure our own Go binaries are in PATH.
|
||||
export PATH="${KUBE_GOPATH}/bin:${PATH}"
|
||||
|
||||
# Change directories so that we are within the GOPATH. Some tools get really
|
||||
# upset if this is not true. We use a whole fake GOPATH here to collect the
|
||||
# resultant binaries.
|
||||
local subdir
|
||||
subdir=$(kube::realpath . | sed "s|${KUBE_ROOT}||")
|
||||
cd "${KUBE_GOPATH}/src/${KUBE_GO_PACKAGE}/${subdir}" || return 1
|
||||
|
||||
# Set GOROOT so binaries that parse code can work properly.
|
||||
GOROOT=$(go env GOROOT)
|
||||
export GOROOT
|
||||
|
||||
# Unset GOBIN in case it already exists in the current session.
|
||||
# Cross-compiles will not work with it set.
|
||||
unset GOBIN
|
||||
|
||||
# This seems to matter to some tools
|
||||
export GO15VENDOREXPERIMENT=1
|
||||
|
||||
# Disable workspaces
|
||||
export GOWORK=off
|
||||
}
|
||||
|
||||
# kube::golang::new::setup_env will check that the `go` commands is available in
|
||||
# ${PATH}. It will also check that the Go version is good enough for the
|
||||
# Kubernetes build.
|
||||
|
Loading…
Reference in New Issue
Block a user