1515
1616set  -eu -o pipefail
1717
18- WORKDIR=$( mktemp -d) 
18+ export   WORKDIR=$( mktemp -d) 
1919
2020function  finish  {
2121  rm -rf " $WORKDIR " 
2222}
2323trap  finish EXIT
2424
25- export  GOBIN=${WORKDIR} /bin
26- export  PATH=${GOBIN} :${PATH} 
27- mkdir -p ${GOBIN} 
25+ export  GOBIN=" ${WORKDIR} " 
26+ export  PATH=" ${GOBIN} :${PATH} " 
27+ mkdir -p " ${GOBIN} " 
2828
2929echo  " remove existing generated files" 
3030#  grpc_testing_not_regenerate/*.pb.go is not re-generated,
@@ -38,39 +38,52 @@ echo "go install cmd/protoc-gen-go-grpc"
3838(cd cmd/protoc-gen-go-grpc &&  go install .)
3939
4040echo  " git clone https://github.com/grpc/grpc-proto" 
41- git clone --quiet https://github.com/grpc/grpc-proto ${WORKDIR} /grpc-proto
41+ git clone --quiet https://github.com/grpc/grpc-proto " ${WORKDIR} " 
4242
4343echo  " git clone https://github.com/protocolbuffers/protobuf" 
44- git clone --quiet https://github.com/protocolbuffers/protobuf ${WORKDIR} /protobuf
44+ git clone --quiet https://github.com/protocolbuffers/protobuf " ${WORKDIR} " 
4545
4646#  Pull in code.proto as a proto dependency
47- mkdir -p ${WORKDIR} /googleapis/google/rpc
47+ mkdir -p " ${WORKDIR} " 
4848echo  " curl https://raw.githubusercontent.com/googleapis/googleapis/master/google/rpc/code.proto" 
49- curl --silent https://raw.githubusercontent.com/googleapis/googleapis/master/google/rpc/code.proto >  ${WORKDIR} /googleapis/google/rpc/code.proto
49+ curl --silent https://raw.githubusercontent.com/googleapis/googleapis/master/google/rpc/code.proto >  " ${WORKDIR} " 
5050
51- mkdir -p ${WORKDIR} /out
51+ source  ./protoc_installer.sh
52+ download_protoc
53+ 
54+ export  PATH=" $PATH :$GOBIN " 
55+ 
56+ PROTOC_PATH=" /usr/local/bin" 
57+ if  [[ " :$PATH :" !=  * " :$PROTOC_PATH :" *  ]];  then 
58+   export  PATH=" $PATH :$PROTOC_PATH " 
59+   echo  " protoc added to your PATH. You might need to open a new terminal" 
60+ else 
61+   echo  " protoc already appears to be on your PATH" 
62+ fi 
63+ 
64+ mkdir -p " ${WORKDIR} /out" 
5265
5366#  Generates sources without the embed requirement
5467LEGACY_SOURCES=(
55-   ${WORKDIR} /grpc-proto/grpc/binlog/v1/binarylog.proto
56-   ${WORKDIR} /grpc-proto/grpc/channelz/v1/channelz.proto
57-   ${WORKDIR} /grpc-proto/grpc/health/v1/health.proto
58-   ${WORKDIR} /grpc-proto/grpc/lb/v1/load_balancer.proto
68+   " ${WORKDIR} /grpc-proto/grpc/binlog/v1/binarylog.proto" 
69+   " ${WORKDIR} /grpc-proto/grpc/channelz/v1/channelz.proto" 
70+   " ${WORKDIR} /grpc-proto/grpc/health/v1/health.proto" 
71+   " ${WORKDIR} /grpc-proto/grpc/lb/v1/load_balancer.proto" 
5972  profiling/proto/service.proto
60-   ${WORKDIR} /grpc-proto/grpc/reflection/v1alpha/reflection.proto
61-   ${WORKDIR} /grpc-proto/grpc/reflection/v1/reflection.proto
73+   " ${WORKDIR} /grpc-proto/grpc/reflection/v1alpha/reflection.proto" 
74+   " ${WORKDIR} /grpc-proto/grpc/reflection/v1/reflection.proto" 
6275)
6376
6477#  Generates only the new gRPC Service symbols
6578SOURCES=(
6679  $( git ls-files --exclude-standard --cached --others " *.proto" |  grep -v ' ^\(profiling/proto/service.proto\|reflection/grpc_reflection_v1alpha/reflection.proto\)$' ) 
67-   ${WORKDIR} /grpc-proto/grpc/gcp/altscontext.proto
68-   ${WORKDIR} /grpc-proto/grpc/gcp/handshaker.proto
69-   ${WORKDIR} /grpc-proto/grpc/gcp/transport_security_common.proto
70-   ${WORKDIR} /grpc-proto/grpc/lookup/v1/rls.proto
71-   ${WORKDIR} /grpc-proto/grpc/lookup/v1/rls_config.proto
72-   ${WORKDIR} /grpc-proto/grpc/testing/* .proto
73-   ${WORKDIR} /grpc-proto/grpc/core/* .proto
80+   " ${WORKDIR} /grpc-proto/grpc/gcp/altscontext.proto" 
81+   " ${WORKDIR} /grpc-proto/grpc/gcp/handshaker.proto" 
82+   " ${WORKDIR} /grpc-proto/grpc/gcp/transport_security_common.proto" 
83+   " ${WORKDIR} /grpc-proto/grpc/lookup/v1/rls.proto" 
84+   " ${WORKDIR} /grpc-proto/grpc/lookup/v1/rls_config.proto" 
85+   " ${WORKDIR} /grpc-proto/grpc/testing/*.proto" 
86+   " ${WORKDIR} /grpc-proto/grpc/core/*.proto" 
7487)
7588
7689#  These options of the form 'Mfoo.proto=bar' instruct the codegen to use an
@@ -93,31 +106,31 @@ Mgrpc/testing/empty.proto=google.golang.org/grpc/interop/grpc_testing
93106
94107for  src  in  ${SOURCES[@]} ;  do 
95108  echo  " protoc ${src} " 
96-   protoc --go_out=${OPTS} :${WORKDIR} /out --go-grpc_out=${OPTS} :${WORKDIR} /out \
109+   protoc --go_out=" ${OPTS} :${WORKDIR} /out" " ${OPTS} :${WORKDIR} /out" 
97110    -I" ." 
98-     -I${WORKDIR} /grpc-proto \
99-     -I${WORKDIR} /googleapis \
100-     -I${WORKDIR} /protobuf/src \
101-     ${src} 
111+     -I" ${WORKDIR} /grpc-proto" 
112+     -I" ${WORKDIR} /googleapis" 
113+     -I" ${WORKDIR} /protobuf/src" 
114+     " ${src} " 
102115done 
103116
104117for  src  in  ${LEGACY_SOURCES[@]} ;  do 
105118  echo  " protoc ${src} " 
106-   protoc --go_out=${OPTS} :${WORKDIR} /out --go-grpc_out=${OPTS} ,require_unimplemented_servers=false:${WORKDIR} /out \
119+   protoc --go_out=" ${OPTS} :${WORKDIR} " " ${OPTS} " " ${WORKDIR} /out" 
107120    -I" ." 
108-     -I${WORKDIR} /grpc-proto \
109-     -I${WORKDIR} /googleapis \
110-     -I${WORKDIR} /protobuf/src \
111-     ${src} 
121+     -I" ${WORKDIR} /grpc-proto" 
122+     -I" ${WORKDIR} /googleapis" 
123+     -I" ${WORKDIR} /protobuf/src" 
124+     " ${src} " 
112125done 
113126
114127#  The go_package option in grpc/lookup/v1/rls.proto doesn't match the
115128#  current location. Move it into the right place.
116- mkdir -p ${WORKDIR} /out/google.golang.org/grpc/internal/proto/grpc_lookup_v1
117- mv ${WORKDIR} /out/google.golang.org/grpc/lookup/grpc_lookup_v1/*  ${WORKDIR} /out/google.golang.org/grpc/internal/proto/grpc_lookup_v1
129+ mkdir -p " ${WORKDIR} /out/google.golang.org/grpc/internal/proto/grpc_lookup_v1" 
130+ mv " ${WORKDIR} " *  " ${WORKDIR} " 
118131
119132#  grpc_testing_not_regenerate/*.pb.go are not re-generated,
120133#  see grpc_testing_not_regenerate/README.md for details.
121- rm ${WORKDIR} /out/google.golang.org/grpc/reflection/grpc_testing_not_regenerate/* .pb.go
134+ rm " ${WORKDIR} " * .pb.go
122135
123- cp -R ${WORKDIR} /out/google.golang.org/grpc/*  . 
136+ cp -R " ${WORKDIR} " *  . 
0 commit comments