...

Text file src/edge-infra.dev/hack/tools/controller-gen/gen-crds.sh

Documentation: edge-infra.dev/hack/tools/controller-gen

     1#!/usr/bin/env bash
     2
     3set -o errexit
     4set -o nounset
     5set -o pipefail
     6
     7if [[ -n "${BUILD_WORKSPACE_DIRECTORY:-}" ]]; then # Running inside bazel
     8  echo "Updating generated manifests..." >&2
     9elif ! command -v bazel &>/dev/null; then
    10  echo "Install bazel via `just hack/bazelisk`" >&2
    11  exit 1
    12else
    13  echo "This script should be ran via a Bazel target."
    14  exit 1
    15fi
    16
    17# tools
    18go=$(realpath "$1")
    19export go
    20export PATH=$(dirname $(dirname "$go")):$PATH
    21export PATH=$(dirname "$go"):$PATH
    22export GOROOT=$(dirname $(dirname "$go"))
    23controllergen="$(realpath "$2")"
    24
    25# parameters
    26pkg_dir="$3"
    27crd_out_path="$4"
    28outpath_relative_to_repo_root="$5"
    29paths="$6"
    30gen_webhooks="$7"
    31
    32cd "${BUILD_WORKSPACE_DIRECTORY}/${pkg_dir}"
    33
    34if [[ "$outpath_relative_to_repo_root" == "True" ]]; then
    35  crd_out_path="${BUILD_WORKSPACE_DIRECTORY}/${crd_out_path}"
    36fi
    37
    38args=()
    39args+=( 'crd:allowDangerousTypes=true,generateEmbeddedObjectMeta=true' 'webhook' "paths=$paths" "output:crd:artifacts:config=$crd_out_path" 'output:none' )
    40if [[ "$gen_webhooks" == "True" ]]; then
    41  args+=( "output:webhook:artifacts:config=$crd_out_path/webhooks" )
    42fi
    43
    44# dont generate anything other than CRDs
    45GOTOOLDIR="/private/var/tmp/_bazel_aa250816/52b683b8d8328151a92aa8ea13f8d520/external/go_sdk/pkg/tool/darwin_arm64" "$controllergen" "${args[@]}"

View as plain text