sigs.k8s.io/cluster-api@v1.7.1/hack/utils.sh (about)

     1  #!/usr/bin/env bash
     2  # Copyright 2019 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  
    16  # get_root_path returns the root path of the project source tree
    17  get_root_path() {
    18      git rev-parse --show-toplevel
    19  }
    20  
    21  # cd_root_path cds to the root path of the project source tree
    22  cd_root_path() {
    23      cd "$(get_root_path)" || exit
    24  }
    25  
    26  # get_capd_root_path returns the root path of CAPD source tree
    27  get_capd_root_path() {
    28      echo "$(get_root_path)"/test/infrastructure/docker
    29  }
    30  
    31  # cd_capd_root_path cds to the root path of the CAPD source tree
    32  cd_capd_root_path() {
    33      cd "$(get_capd_root_path)" || exit
    34  }
    35  
    36  # ensure GOPATH/bin is in PATH as we may install binaries to that directory in
    37  # other ensure-* scripts, and expect them to be found in PATH later on
    38  verify_gopath_bin() {
    39      local gopath_bin
    40  
    41      gopath_bin="$(go env GOPATH)/bin"
    42      if ! printenv PATH | grep -q "${gopath_bin}"; then
    43          cat <<EOF
    44  error: \$GOPATH/bin=${gopath_bin} is not in your PATH.
    45  See https://go.dev/doc/gopath_code for more instructions.
    46  EOF
    47          return 2
    48      fi
    49  }