github.com/rkt/rkt@v1.30.1-0.20200224141603-171c416fac02/scripts/genproto.sh (about)

     1  #!/usr/bin/env bash
     2  #
     3  # Generate rkt protobuf bindings.
     4  # Run from repository root.
     5  #
     6  set -e
     7  
     8  if ! [[ "$0" =~ "scripts/genproto.sh" ]]; then
     9  	echo "must be run from repository root"
    10  	exit 255
    11  fi
    12  
    13  if ! [[ $(protoc --version) =~ "3.1.0" ]]; then
    14  	echo "could not find protoc 3.1.0, is it installed + in PATH?"
    15  	exit 255
    16  fi
    17  
    18  export PATH=.:${PATH}
    19  cd $GOPATH/src/github.com/rkt/rkt
    20  
    21  echo "building protoc-gen-go"
    22  pushd vendor/github.com/golang/protobuf/protoc-gen-go
    23  go build
    24  mv protoc-gen-go $(dirs -l +1)
    25  popd
    26  
    27  trap 'rm -f "protoc-gen-go"' EXIT
    28  
    29  echo "generating code"
    30  API_DIR="${PWD}/api/v1alpha"
    31  protoc -I "${API_DIR}" "${API_DIR}"/*.proto --go_out=plugins=grpc:"${API_DIR}"
    32  echo "generating HTML documentation"
    33  sudo rkt \
    34      --insecure-options=image \
    35      run \
    36      --volume=volume-out,kind=host,source="${API_DIR}"/docs \
    37      --volume=volume-protos,kind=host,source="${API_DIR}" \
    38      docker://pseudomuto/protoc-gen-doc:1.0.0 \
    39      --user=$UID \
    40      --group=$GID
    41  echo "generating Markdown documentation"
    42  sudo rkt \
    43      --insecure-options=image \
    44      run \
    45      --volume=volume-out,kind=host,source="${API_DIR}"/docs \
    46      --volume=volume-protos,kind=host,source="${API_DIR}" \
    47      docker://pseudomuto/protoc-gen-doc:1.0.0 \
    48      --user=$UID \
    49      --group=$GID \
    50      --exec=/entrypoint.sh \
    51      -- \
    52      --doc_opt=markdown,docs.md