github.com/kubernetes-csi/external-snapshotter/client/v4@v4.2.0/hack/update-crd.sh (about) 1 #!/bin/bash 2 3 # Copyright 2019 The Kubernetes Authors. 4 # 5 # Licensed under the Apache License, Version 2.0 (the "License"); 6 # you may not use this file except in compliance with the License. 7 # You may obtain a copy of the License at 8 # 9 # http://www.apache.org/licenses/LICENSE-2.0 10 # 11 # Unless required by applicable law or agreed to in writing, software 12 # distributed under the License is distributed on an "AS IS" BASIS, 13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 # See the License for the specific language governing permissions and 15 # limitations under the License. 16 17 #set -o errexit 18 set -o nounset 19 set -o pipefail 20 21 SCRIPT_ROOT=$(unset CDPATH && cd $(dirname "${BASH_SOURCE[0]}")/.. && pwd) 22 23 # find or download controller-gen 24 CONTROLLER_GEN=$(which controller-gen) 25 26 if [ "$CONTROLLER_GEN" = "" ] 27 then 28 TMP_DIR=$(mktemp -d); 29 cd $TMP_DIR; 30 go mod init tmp; 31 go get sigs.k8s.io/controller-tools/cmd/controller-gen@v0.4.0; 32 rm -rf $TMP_DIR; 33 CONTROLLER_GEN=$(which controller-gen) 34 fi 35 36 if [ "$CONTROLLER_GEN" = "" ] 37 then 38 echo "ERROR: failed to get controller-gen"; 39 exit 1; 40 fi 41 42 $CONTROLLER_GEN crd:crdVersions=v1,trivialVersions=false paths=${SCRIPT_ROOT}/apis/volumesnapshot/v1 43 44 # To use your own boilerplate text use: 45 # --go-header-file ${SCRIPT_ROOT}/hack/custom-boilerplate.go.txt