Use controller-gen to generate deepcopy code replacing deepcopy-gen. (#5297)
Use controller-gen to generate deepcopy code, and replace the deepcopy-gen tags with the kubebuilder tags. Signed-off-by: hongzhouzi <hongzhouzi@kubesphere.io> Signed-off-by: hongzhouzi <hongzhouzi@kubesphere.io>
This commit is contained in:
@@ -4,19 +4,32 @@ set -ex
|
||||
|
||||
CRD_OPTIONS="$1"
|
||||
PKGS="$2"
|
||||
GENS="$3"
|
||||
IFS=" " read -r -a PKGS <<< "${PKGS}"
|
||||
|
||||
KUBE_ROOT=$(dirname "${BASH_SOURCE[0]}")/..
|
||||
cd "${KUBE_ROOT}" || exit
|
||||
|
||||
for PKG in "${PKGS[@]}"; do
|
||||
echo "Generating manifests for ${PKG}"
|
||||
if [[ "$PKG" =~ /\*$ ]]; then
|
||||
PKG=${PKG%??}
|
||||
DIR=$(go list -e -test=false -export=false -deps=false -find=false -tags ignore_autogenerated -f "{{.Dir}}" "kubesphere.io/api/${PKG}")
|
||||
# shellcheck disable=SC2010
|
||||
ls -1 -F "${DIR}" | grep '/$' | xargs -n 1 -I{} go run ./vendor/sigs.k8s.io/controller-tools/cmd/controller-gen/main.go object:headerFile=./hack/boilerplate.go.txt paths=kubesphere.io/api/"${PKG}"/{} rbac:roleName=controller-perms "${CRD_OPTIONS}" output:crd:artifacts:config=config/crds
|
||||
if grep -qw "deepcopy" <<<"${GENS}"; then
|
||||
echo "Generating deepcopy for ${PKG}"
|
||||
if [[ "$PKG" =~ /\*$ ]]; then
|
||||
PKG=${PKG%??}
|
||||
DIR=$(go list -e -test=false -export=false -deps=false -find=false -tags ignore_autogenerated -f "{{.Dir}}" "kubesphere.io/api/${PKG}")
|
||||
# shellcheck disable=SC2010
|
||||
ls -1 -F "${DIR}" | grep '/$' | xargs -n 1 -I{} go run ./vendor/sigs.k8s.io/controller-tools/cmd/controller-gen/main.go object:headerFile=./hack/boilerplate.go.txt paths=kubesphere.io/api/"${PKG}"/{}
|
||||
else
|
||||
go run ./vendor/sigs.k8s.io/controller-tools/cmd/controller-gen/main.go object:headerFile=./hack/boilerplate.go.txt paths=kubesphere.io/api/"${PKG}"
|
||||
fi
|
||||
else
|
||||
go run ./vendor/sigs.k8s.io/controller-tools/cmd/controller-gen/main.go object:headerFile=./hack/boilerplate.go.txt paths=kubesphere.io/api/"${PKG}" rbac:roleName=controller-perms "${CRD_OPTIONS}" output:crd:artifacts:config=config/crds
|
||||
echo "Generating manifests for ${PKG}"
|
||||
if [[ "$PKG" =~ /\*$ ]]; then
|
||||
PKG=${PKG%??}
|
||||
DIR=$(go list -e -test=false -export=false -deps=false -find=false -tags ignore_autogenerated -f "{{.Dir}}" "kubesphere.io/api/${PKG}")
|
||||
# shellcheck disable=SC2010
|
||||
ls -1 -F "${DIR}" | grep '/$' | xargs -n 1 -I{} go run ./vendor/sigs.k8s.io/controller-tools/cmd/controller-gen/main.go object:headerFile=./hack/boilerplate.go.txt paths=kubesphere.io/api/"${PKG}"/{} rbac:roleName=controller-perms "${CRD_OPTIONS}" output:crd:artifacts:config=config/crds
|
||||
else
|
||||
go run ./vendor/sigs.k8s.io/controller-tools/cmd/controller-gen/main.go object:headerFile=./hack/boilerplate.go.txt paths=kubesphere.io/api/"${PKG}" rbac:roleName=controller-perms "${CRD_OPTIONS}" output:crd:artifacts:config=config/crds
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
@@ -30,6 +30,6 @@ fi
|
||||
|
||||
cd "${KUBE_ROOT}" || exit 1
|
||||
|
||||
IFS=$'\n' read -r -d '' -a files < <( find . -type f -name '*.go' -not -path "./vendor/*" -not -path "./pkg/client/*" && printf '\0' )
|
||||
IFS=$'\n' read -r -d '' -a files < <( find . -type f -name '*.go' -not -path "./vendor/*" -not -path "./pkg/client/*" -not -name "zz_generated.deepcopy.go" && printf '\0' )
|
||||
|
||||
"goimports" -w -local kubesphere.io/kubesphere "${files[@]}"
|
||||
|
||||
@@ -30,7 +30,7 @@ fi
|
||||
|
||||
cd "${KUBE_ROOT}" || exit 1
|
||||
|
||||
IFS=$'\n' read -r -d '' -a files < <( find . -type f -name '*.go' -not -path "./vendor/*" -not -path "./pkg/apis/*" -not -path "./pkg/client/*" && printf '\0' )
|
||||
IFS=$'\n' read -r -d '' -a files < <( find . -type f -name '*.go' -not -path "./vendor/*" -not -path "./pkg/apis/*" -not -path "./pkg/client/*" -not -name "zz_generated.deepcopy.go" && printf '\0' )
|
||||
|
||||
output=$(goimports -local kubesphere.io/kubesphere -l "${files[@]}")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user