github.com/hoveychen/protoreflect@v1.4.7-0.20221103114119-0b4b3385ec76/internal/testprotos/make_protos.sh (about)

     1  #!/usr/bin/env bash
     2  
     3  set -e
     4  
     5  cd $(dirname $0)
     6  
     7  PROTOC_VERSION="3.9.0"
     8  PROTOC_OS="$(uname -s)"
     9  PROTOC_ARCH="$(uname -m)"
    10  case "${PROTOC_OS}" in
    11    Darwin) PROTOC_OS="osx" ;;
    12    Linux) PROTOC_OS="linux" ;;
    13    *)
    14      echo "Invalid value for uname -s: ${PROTOC_OS}" >&2
    15      exit 1
    16  esac
    17  
    18  PROTOC="./protoc/bin/protoc"
    19  
    20  if [[ "$(${PROTOC} --version 2>/dev/null)" != "libprotoc ${PROTOC_VERSION}" ]]; then
    21    rm -rf ./protoc
    22    mkdir -p protoc
    23    curl -L "https://github.com/google/protobuf/releases/download/v${PROTOC_VERSION}/protoc-${PROTOC_VERSION}-${PROTOC_OS}-${PROTOC_ARCH}.zip" > protoc/protoc.zip
    24    cd ./protoc && unzip protoc.zip && cd ..
    25  fi
    26  
    27  go install github.com/golang/protobuf/protoc-gen-go 
    28  
    29  # Output directory will effectively be GOPATH/src.
    30  outdir="../../../../.."
    31  ${PROTOC} "--go_out=plugins=grpc:$outdir" -I. *.proto
    32  ${PROTOC} "--go_out=plugins=grpc:$outdir" -I. nopkg/*.proto
    33  ${PROTOC} "--go_out=plugins=grpc:$outdir" -I. pkg/*.proto
    34  
    35  # And make descriptor set (with source info) for several files
    36  ${PROTOC} --descriptor_set_out=./desc_test1.protoset --include_source_info --include_imports -I. desc_test1.proto
    37  ${PROTOC} --descriptor_set_out=./desc_test_comments.protoset --include_source_info --include_imports -I. desc_test_comments.proto
    38  ${PROTOC} --descriptor_set_out=./desc_test_complex.protoset -I. desc_test_complex.proto
    39  ${PROTOC} --descriptor_set_out=./desc_test_complex_source_info.protoset --include_source_info --include_imports -I. desc_test_complex.proto
    40  ${PROTOC} --descriptor_set_out=./descriptor.protoset --include_source_info --include_imports -I./protoc/include/ google/protobuf/descriptor.proto
    41  ${PROTOC} --descriptor_set_out=./duration.protoset -I./protoc/include/ google/protobuf/duration.proto
    42