...
1#!/bin/bash
2
3# Copyright 2020 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
17set -o errexit
18set -o nounset
19set -o pipefail
20
21GOPATH=${GOPATH:-$(go env GOPATH)}
22
23# "go env" doesn't print anything if GOBIN is the default, so we
24# have to manually default it.
25GOBIN=${GOBIN:-$(go env GOBIN)}
26GOBIN=${GOBIN:-${GOPATH}/bin}
27
28readonly HERE=$(cd $(dirname $0) && pwd)
29readonly REPO=$(cd ${HERE}/../.. && pwd)
30
31gendoc::build() {
32 go install github.com/ahmetb/gen-crd-api-reference-docs
33}
34
35# Exec the doc generator.
36gendoc::exec() {
37 local readonly confdir="${REPO}/hack/api-docs"
38
39 ${GOBIN}/gen-crd-api-reference-docs \
40 -template-dir ${confdir} \
41 -config ${confdir}/config.json \
42 "$@"
43}
44
45if [ "$#" != "1" ]; then
46 echo "usage: generate.sh OUTFILE"
47 exit 2
48fi
49
50gendoc::build
51gendoc::exec \
52 -api-dir "sigs.k8s.io/gateway-api/apis/" \
53 -out-file "${1}"
View as plain text