mirror of
https://github.com/rkt/rkt.git
synced 2025-08-06 13:48:46 +08:00
53 lines
1.3 KiB
Bash
Executable File
53 lines
1.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
#
|
|
# Generate rkt protobuf bindings.
|
|
# Run from repository root.
|
|
#
|
|
set -e
|
|
|
|
if ! [[ "$0" =~ "scripts/genproto.sh" ]]; then
|
|
echo "must be run from repository root"
|
|
exit 255
|
|
fi
|
|
|
|
if ! [[ $(protoc --version) =~ "3.1.0" ]]; then
|
|
echo "could not find protoc 3.1.0, is it installed + in PATH?"
|
|
exit 255
|
|
fi
|
|
|
|
export PATH=.:${PATH}
|
|
cd $GOPATH/src/github.com/rkt/rkt
|
|
|
|
echo "building protoc-gen-go"
|
|
pushd vendor/github.com/golang/protobuf/protoc-gen-go
|
|
go build
|
|
mv protoc-gen-go $(dirs -l +1)
|
|
popd
|
|
|
|
trap 'rm -f "protoc-gen-go"' EXIT
|
|
|
|
echo "generating code"
|
|
API_DIR="${PWD}/api/v1alpha"
|
|
protoc -I "${API_DIR}" "${API_DIR}"/*.proto --go_out=plugins=grpc:"${API_DIR}"
|
|
echo "generating HTML documentation"
|
|
sudo rkt \
|
|
--insecure-options=image \
|
|
run \
|
|
--volume=volume-out,kind=host,source="${API_DIR}"/docs \
|
|
--volume=volume-protos,kind=host,source="${API_DIR}" \
|
|
docker://pseudomuto/protoc-gen-doc:1.0.0 \
|
|
--user=$UID \
|
|
--group=$GID
|
|
echo "generating Markdown documentation"
|
|
sudo rkt \
|
|
--insecure-options=image \
|
|
run \
|
|
--volume=volume-out,kind=host,source="${API_DIR}"/docs \
|
|
--volume=volume-protos,kind=host,source="${API_DIR}" \
|
|
docker://pseudomuto/protoc-gen-doc:1.0.0 \
|
|
--user=$UID \
|
|
--group=$GID \
|
|
--exec=/entrypoint.sh \
|
|
-- \
|
|
--doc_opt=markdown,docs.md
|