Rewrite go_install_from_commit to handle pkgs that aren't in HEAD

This is brittle and really only intended to workaround the fact that
gazelle has moved out of the bazelbuild/rules_go repo to its own
repo. I would rather see this reverted once we move to the same
version of gazelle as used by kubernetes/test-infra
This commit is contained in:
Aaron Crickenberger 2017-12-22 13:24:00 -05:00
parent 95b7d9549a
commit e55938940d

View File

@ -475,10 +475,15 @@ kube::util::go_install_from_commit() {
kube::util::ensure-temp-dir kube::util::ensure-temp-dir
mkdir -p "${KUBE_TEMP}/go/src" mkdir -p "${KUBE_TEMP}/go/src"
GOPATH="${KUBE_TEMP}/go" go get -d -u "${pkg}" # TODO(spiffxp): remove this brittle workaround for go getting a package that doesn't exist at HEAD
repo=$(echo ${pkg} | cut -d/ -f1-3)
git clone "https://${repo}" "${KUBE_TEMP}/go/src/${repo}"
# GOPATH="${KUBE_TEMP}/go" go get -d -u "${pkg}"
( (
cd "${KUBE_TEMP}/go/src/${pkg}" cd "${KUBE_TEMP}/go/src/${repo}"
git fetch # TODO(spiffxp): workaround
git checkout -q "${commit}" git checkout -q "${commit}"
GOPATH="${KUBE_TEMP}/go" go get -d "${pkg}" #TODO(spiffxp): workaround
GOPATH="${KUBE_TEMP}/go" go install "${pkg}" GOPATH="${KUBE_TEMP}/go" go install "${pkg}"
) )
PATH="${KUBE_TEMP}/go/bin:${PATH}" PATH="${KUBE_TEMP}/go/bin:${PATH}"