#!/usr/bin/env bash set -o errexit set -o nounset set -o pipefail if [[ -n "${BUILD_WORKSPACE_DIRECTORY:-}" ]]; then # Running inside bazel echo "Updating generated manifests..." >&2 elif ! command -v bazel &>/dev/null; then echo "Install bazel via `just hack/bazelisk`" >&2 exit 1 else echo "This script should be ran via a Bazel target." exit 1 fi # tools go=$(realpath "$1") export go export PATH=$(dirname $(dirname "$go")):$PATH export PATH=$(dirname "$go"):$PATH export GOROOT=$(dirname $(dirname "$go")) controllergen="$(realpath "$2")" # parameters pkg_dir="$3" crd_out_path="$4" outpath_relative_to_repo_root="$5" paths="$6" gen_webhooks="$7" cd "${BUILD_WORKSPACE_DIRECTORY}/${pkg_dir}" if [[ "$outpath_relative_to_repo_root" == "True" ]]; then crd_out_path="${BUILD_WORKSPACE_DIRECTORY}/${crd_out_path}" fi args=() args+=( 'crd:allowDangerousTypes=true,generateEmbeddedObjectMeta=true' 'webhook' "paths=$paths" "output:crd:artifacts:config=$crd_out_path" 'output:none' ) if [[ "$gen_webhooks" == "True" ]]; then args+=( "output:webhook:artifacts:config=$crd_out_path/webhooks" ) fi # dont generate anything other than CRDs GOTOOLDIR="/private/var/tmp/_bazel_aa250816/52b683b8d8328151a92aa8ea13f8d520/external/go_sdk/pkg/tool/darwin_arm64" "$controllergen" "${args[@]}"