github.com/oam-dev/kubevela@v1.9.11/hack/apis/clientgen.sh (about) 1 #!/bin/bash -l 2 # 3 # Copyright 2021. The KubeVela 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 18 set -e 19 20 cd "$(dirname "${BASH_SOURCE[0]}")/../.." 21 22 WORK_TEMP_DIR="./clientgen_work_temp" 23 24 # client generator parameters 25 CODEGEN_GENERATORS="all" # deepcopy,defaulter,client,lister,informer or all 26 OUTPUT_PACKAGE="github.com/oam-dev/kubevela/pkg/generated/client" 27 APIS_PACKAGE="github.com/oam-dev/kubevela/apis" 28 CODEGEN_GROUP_VERSIONS="core.oam.dev:v1beta1" 29 OUTPUT_DIR="${WORK_TEMP_DIR}" 30 BOILERPLATE_FILE="./hack/boilerplate.go.txt" 31 32 installDep() { 33 cp go.mod go.sum "${WORK_TEMP_DIR}/backup/" 34 35 cat <<EOF >"${WORK_TEMP_DIR}/tools.go" 36 // +build tools 37 38 package tools 39 40 import _ "k8s.io/code-generator" 41 EOF 42 go get github.com/oam-dev/kubevela/clientgen_work_temp 43 go mod vendor 44 } 45 46 clientGen() { 47 bash ./vendor/k8s.io/code-generator/generate-groups.sh "${CODEGEN_GENERATORS}" \ 48 ${OUTPUT_PACKAGE} \ 49 ${APIS_PACKAGE} \ 50 "${CODEGEN_GROUP_VERSIONS}" \ 51 --output-base "${OUTPUT_DIR}" \ 52 --go-header-file "${BOILERPLATE_FILE}" 53 54 mkdir -p ./pkg/generated/ 55 mv "${WORK_TEMP_DIR}/github.com/oam-dev/kubevela/pkg/generated/client" ./pkg/generated/ 56 } 57 58 cleanup() { 59 mv "${WORK_TEMP_DIR}/backup/"* ./ 60 rm -drf "${WORK_TEMP_DIR}/" 61 rm -drf vendor 62 } 63 64 main() { 65 mkdir -p "${WORK_TEMP_DIR}/backup/" 66 installDep 67 clientGen 68 cleanup 69 } 70 71 main