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 }