...

Text file src/sigs.k8s.io/controller-runtime/hack/go-install.sh

Documentation: sigs.k8s.io/controller-runtime/hack

     1#!/usr/bin/env bash
     2# Copyright 2021 The Kubernetes Authors.
     3#
     4# Licensed under the Apache License, Version 2.0 (the "License");
     5# you may not use this file except in compliance with the License.
     6# You may obtain a copy of the License at
     7#
     8#     http://www.apache.org/licenses/LICENSE-2.0
     9#
    10# Unless required by applicable law or agreed to in writing, software
    11# distributed under the License is distributed on an "AS IS" BASIS,
    12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    13# See the License for the specific language governing permissions and
    14# limitations under the License.
    15
    16set -o errexit
    17set -o nounset
    18set -o pipefail
    19
    20if [ -z "${1}" ]; then
    21  echo "must provide module as first parameter"
    22  exit 1
    23fi
    24
    25if [ -z "${2}" ]; then
    26  echo "must provide binary name as second parameter"
    27  exit 1
    28fi
    29
    30if [ -z "${3}" ]; then
    31  echo "must provide version as third parameter"
    32  exit 1
    33fi
    34
    35if [ -z "${GOBIN}" ]; then
    36  echo "GOBIN is not set. Must set GOBIN to install the bin in a specified directory."
    37  exit 1
    38fi
    39
    40rm -f "${GOBIN}/${2}"* || true
    41
    42# install the golang module specified as the first argument
    43go install "${1}@${3}"
    44mv "${GOBIN}/${2}" "${GOBIN}/${2}-${3}"
    45ln -sf "${GOBIN}/${2}-${3}" "${GOBIN}/${2}"

View as plain text