@@ -19,12 +19,15 @@ WORKDIR=$(mktemp -d)
19
19
20
20
function finish {
21
21
rm -rf " $WORKDIR "
22
+ # Revert back the PATH to client's original value
23
+ export PATH=$ORIGINAL_PATH
22
24
}
23
25
trap finish EXIT
24
26
25
- export GOBIN=${WORKDIR} /bin
26
- export PATH=${GOBIN} :${PATH}
27
- mkdir -p ${GOBIN}
27
+ GOBIN=" ${WORKDIR} " /bin
28
+ ORIGINAL_PATH=$PATH
29
+ export PATH=" ${GOBIN} :${PATH} "
30
+ mkdir -p " ${GOBIN} "
28
31
29
32
echo " remove existing generated files"
30
33
# grpc_testing_not_regenerate/*.pb.go is not re-generated,
@@ -38,39 +41,41 @@ echo "go install cmd/protoc-gen-go-grpc"
38
41
(cd cmd/protoc-gen-go-grpc && go install .)
39
42
40
43
echo " git clone https://github.com/grpc/grpc-proto"
41
- git clone --quiet https://github.com/grpc/grpc-proto ${WORKDIR} /grpc-proto
44
+ git clone --quiet https://github.com/grpc/grpc-proto " ${WORKDIR} /grpc-proto"
42
45
43
46
echo " git clone https://github.com/protocolbuffers/protobuf"
44
- git clone --quiet https://github.com/protocolbuffers/protobuf ${WORKDIR} /protobuf
47
+ git clone --quiet https://github.com/protocolbuffers/protobuf " ${WORKDIR} /protobuf"
45
48
46
49
# Pull in code.proto as a proto dependency
47
- mkdir -p ${WORKDIR} /googleapis/google/rpc
50
+ mkdir -p " ${WORKDIR} /googleapis/google/rpc"
48
51
echo " 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
52
+ curl --silent https://raw.githubusercontent.com/googleapis/googleapis/master/google/rpc/code.proto > " ${WORKDIR} /googleapis/google/rpc/code.proto"
50
53
51
- mkdir -p ${WORKDIR} /out
54
+ source ./scripts/install_protoc.sh $WORKDIR
55
+
56
+ mkdir -p " ${WORKDIR} /out"
52
57
53
58
# Generates sources without the embed requirement
54
59
LEGACY_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
60
+ " ${WORKDIR} /grpc-proto/grpc/binlog/v1/binarylog.proto"
61
+ " ${WORKDIR} /grpc-proto/grpc/channelz/v1/channelz.proto"
62
+ " ${WORKDIR} /grpc-proto/grpc/health/v1/health.proto"
63
+ " ${WORKDIR} /grpc-proto/grpc/lb/v1/load_balancer.proto"
59
64
profiling/proto/service.proto
60
- ${WORKDIR} /grpc-proto/grpc/reflection/v1alpha/reflection.proto
61
- ${WORKDIR} /grpc-proto/grpc/reflection/v1/reflection.proto
65
+ " ${WORKDIR} /grpc-proto/grpc/reflection/v1alpha/reflection.proto"
66
+ " ${WORKDIR} /grpc-proto/grpc/reflection/v1/reflection.proto"
62
67
)
63
68
64
69
# Generates only the new gRPC Service symbols
65
70
SOURCES=(
66
71
$( git ls-files --exclude-standard --cached --others " *.proto" | grep -v ' ^profiling/proto/service.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
72
+ " ${WORKDIR} /grpc-proto/grpc/gcp/altscontext.proto"
73
+ " ${WORKDIR} /grpc-proto/grpc/gcp/handshaker.proto"
74
+ " ${WORKDIR} /grpc-proto/grpc/gcp/transport_security_common.proto"
75
+ " ${WORKDIR} /grpc-proto/grpc/lookup/v1/rls.proto"
76
+ " ${WORKDIR} /grpc-proto/grpc/lookup/v1/rls_config.proto"
77
+ " ${WORKDIR} /grpc-proto/grpc/testing/*.proto"
78
+ " ${WORKDIR} /grpc-proto/grpc/core/*.proto"
74
79
)
75
80
76
81
# These options of the form 'Mfoo.proto=bar' instruct the codegen to use an
@@ -95,29 +100,29 @@ for src in ${SOURCES[@]}; do
95
100
echo " protoc ${src} "
96
101
protoc --go_out=${OPTS} :${WORKDIR} /out --go-grpc_out=${OPTS} ,use_generic_streams_experimental=true:${WORKDIR} /out \
97
102
-I" ." \
98
- -I${WORKDIR} /grpc-proto \
99
- -I${WORKDIR} /googleapis \
100
- -I${WORKDIR} /protobuf/src \
101
- ${src}
103
+ -I" ${WORKDIR} /grpc-proto" \
104
+ -I" ${WORKDIR} /googleapis" \
105
+ -I" ${WORKDIR} /protobuf/src" \
106
+ " ${src} "
102
107
done
103
108
104
109
for src in ${LEGACY_SOURCES[@]} ; do
105
110
echo " protoc ${src} "
106
- protoc --go_out=${OPTS} :${WORKDIR} /out --go-grpc_out=${OPTS} ,require_unimplemented_servers=false:${WORKDIR} /out \
111
+ protoc --go_out=" ${OPTS} :${WORKDIR} /out" --go-grpc_out=" ${OPTS} " ,require_unimplemented_servers=false:" ${WORKDIR} /out" \
107
112
-I" ." \
108
- -I${WORKDIR} /grpc-proto \
109
- -I${WORKDIR} /googleapis \
110
- -I${WORKDIR} /protobuf/src \
111
- ${src}
113
+ -I" ${WORKDIR} /grpc-proto" \
114
+ -I" ${WORKDIR} /googleapis" \
115
+ -I" ${WORKDIR} /protobuf/src" \
116
+ " ${src} "
112
117
done
113
118
114
119
# The go_package option in grpc/lookup/v1/rls.proto doesn't match the
115
120
# 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
121
+ mkdir -p " ${WORKDIR} /out/google.golang.org/grpc/internal/proto/grpc_lookup_v1"
122
+ mv " ${WORKDIR} " /out/google.golang.org/grpc/lookup/grpc_lookup_v1/* " ${WORKDIR} /out/google.golang.org/grpc/internal/proto/grpc_lookup_v1"
118
123
119
124
# grpc_testing_not_regenerate/*.pb.go are not re-generated,
120
125
# see grpc_testing_not_regenerate/README.md for details.
121
- rm ${WORKDIR} /out/google.golang.org/grpc/reflection/test/grpc_testing_not_regenerate/* .pb.go
126
+ rm " ${WORKDIR} " /out/google.golang.org/grpc/reflection/test/grpc_testing_not_regenerate/* .pb.go
122
127
123
- cp -R ${WORKDIR} /out/google.golang.org/grpc/* .
128
+ cp -R " ${WORKDIR} " /out/google.golang.org/grpc/* .
0 commit comments