Skip to content

Commit 6a9d715

Browse files
feat: Update proto files
Add new proto files
2 parents 533f848 + 41323db commit 6a9d715

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+11458
-5052
lines changed

scripts/fetch-proto.sh

Lines changed: 159 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,159 @@
1+
#!/bin/bash
2+
OS=$(echo `uname`|tr '[:upper:]' '[:lower:]')
3+
ARCH=$(uname -m)
4+
BRANCH_NAME="v1.7.0"
5+
6+
# Proto buf generation
7+
APPCALLBACK="appcallback"
8+
COMMON="common"
9+
DAPR="dapr"
10+
RUNTIME="runtime"
11+
GOOGLE_ANY="runtime"
12+
13+
# Path to store output
14+
PATH_ROOT=$(pwd)
15+
# PATH_PROTO="$PATH_ROOT/src/grpc"
16+
# PATH_PROTO_DAPR="$PATH_PROTO/dapr/proto"
17+
# SRC="./src/grpc"
18+
19+
# Http request CLI
20+
HTTP_REQUEST_CLI=curl
21+
22+
# Make sure curl or wget are installed
23+
prerequisiteCheckHttpRequestCLI() {
24+
if type "curl" > /dev/null; then
25+
HTTP_REQUEST_CLI=curl
26+
elif type "wget" > /dev/null; then
27+
HTTP_REQUEST_CLI=wget
28+
else
29+
echo "Either curl or wget is required"
30+
exit 1
31+
fi
32+
}
33+
34+
prerequisiteCheckProtobuf() {
35+
if ! type "protoc" > /dev/null; then
36+
echo "protoc is not installed, trying to install"
37+
sudo apt update
38+
sudo apt install -y protobuf-compiler
39+
protoc --version
40+
41+
prerequisiteCheckProtobuf
42+
else
43+
echo "protoc ($(protoc --version)) installed"
44+
fi
45+
}
46+
47+
downloadFile() {
48+
SRC=$1
49+
DST=$2
50+
51+
# Ensure target path exists
52+
mkdir -p $(dirname $DST)
53+
54+
# Download the file
55+
echo "[$HTTP_REQUEST_CLI] Downloading $1 ..."
56+
if [ "$HTTP_REQUEST_CLI" == "curl" ]; then
57+
curl -SsL "$SRC" -o "$DST"
58+
else
59+
wget -q -P "$SRC" "$DST"
60+
fi
61+
echo "[$HTTP_REQUEST_CLI] Saved to $DST"
62+
}
63+
64+
generateGrpc() {
65+
PATH_PROTO=$1
66+
PATH_FILE=$2
67+
68+
echo "[protoc] Generating RPC for $PATH_PROTO/$PATH_FILE"
69+
70+
# Tools to be installed by npm (see package.json)
71+
# npm install grpc-tools --save-dev
72+
# npm install grpc_tools_node_protoc_ts --save-dev
73+
PROTOC_GEN_TS_PATH="${PATH_ROOT}/node_modules/.bin/protoc-gen-ts"
74+
PROTOC_GEN_GRPC_PATH="${PATH_ROOT}/node_modules/.bin/grpc_tools_node_protoc_plugin"
75+
76+
# Note: we specify --proto_path to show where we should start searching from. If we use import it will start from this path
77+
# this is why PATH_PROTO != PATH_PROTO_DAPR; PATH_PROTO_DAPR is where we save our proto files while the other is the namespace
78+
protoc \
79+
--proto_path="${PATH_PROTO}" \
80+
--plugin="protoc-gen-ts=${PROTOC_GEN_TS_PATH}" \
81+
--plugin=protoc-gen-grpc=${PROTOC_GEN_GRPC_PATH} \
82+
--js_out="import_style=commonjs,binary:$PATH_PROTO" \
83+
--ts_out="grpc_js:$PATH_PROTO" \
84+
--grpc_out="grpc_js:$PATH_PROTO" \
85+
"$PATH_PROTO/$PATH_FILE"
86+
}
87+
88+
fail_trap() {
89+
result=$?
90+
if [ $result != 0 ]; then
91+
echo "Failed to generate gRPC interface and proto buf: $ret_val"
92+
fi
93+
cleanup
94+
exit $result
95+
}
96+
97+
cleanup() {
98+
find $PATH_PROTO -type f -name '*.proto' -delete
99+
rm -rf protoc
100+
rm -f protoc.zip
101+
}
102+
103+
generateGrpcSuccess() {
104+
echo -e "\ngRPC interface and proto buf generated successfully!"
105+
}
106+
107+
# -----------------------------------------------------------------------------
108+
# main
109+
# -----------------------------------------------------------------------------
110+
#trap "fail_trap" EXIT
111+
112+
echo "Checking Dependencies"
113+
prerequisiteCheckProtobuf
114+
prerequisiteCheckHttpRequestCLI
115+
116+
echo ""
117+
echo "Removing old Proto Files"
118+
rm -rf "$PATH_ROOT/src/proto"
119+
mkdir -p "$PATH_ROOT/src/proto"
120+
121+
echo ""
122+
echo "Downloading latest Dapr gRPC files"
123+
downloadFile "https://raw.githubusercontent.com/dapr/dapr/$BRANCH_NAME/dapr/proto/common/v1/common.proto" "$PATH_ROOT/src/proto/dapr/proto/common/v1/common.proto"
124+
downloadFile "https://raw.githubusercontent.com/dapr/dapr/$BRANCH_NAME/dapr/proto/internals/v1/apiversion.proto" "$PATH_ROOT/src/proto/dapr/proto/internals/v1/apiversion.proto"
125+
downloadFile "https://raw.githubusercontent.com/dapr/dapr/$BRANCH_NAME/dapr/proto/internals/v1/service_invocation.proto" "$PATH_ROOT/src/proto/dapr/proto/internals/v1/service_invocation.proto"
126+
downloadFile "https://raw.githubusercontent.com/dapr/dapr/$BRANCH_NAME/dapr/proto/internals/v1/status.proto" "$PATH_ROOT/src/proto/dapr/proto/internals/v1/status.proto"
127+
downloadFile "https://raw.githubusercontent.com/dapr/dapr/$BRANCH_NAME/dapr/proto/operator/v1/operator.proto" "$PATH_ROOT/src/proto/dapr/proto/operator/v1/operator.proto"
128+
downloadFile "https://raw.githubusercontent.com/dapr/dapr/$BRANCH_NAME/dapr/proto/placement/v1/placement.proto" "$PATH_ROOT/src/proto/dapr/proto/placement/v1/placement.proto"
129+
downloadFile "https://raw.githubusercontent.com/dapr/dapr/$BRANCH_NAME/dapr/proto/runtime/v1/appcallback.proto" "$PATH_ROOT/src/proto/dapr/proto/runtime/v1/appcallback.proto"
130+
downloadFile "https://raw.githubusercontent.com/dapr/dapr/$BRANCH_NAME/dapr/proto/runtime/v1/dapr.proto" "$PATH_ROOT/src/proto/dapr/proto/runtime/v1/dapr.proto"
131+
downloadFile "https://raw.githubusercontent.com/dapr/dapr/$BRANCH_NAME/dapr/proto/sentry/v1/sentry.proto" "$PATH_ROOT/src/proto/dapr/proto/sentry/v1/sentry.proto"
132+
133+
echo ""
134+
echo "Downloading latest Google Protobuf gRPC files"
135+
downloadFile "https://raw.githubusercontent.com/protocolbuffers/protobuf/master/src/google/protobuf/any.proto" "$PATH_ROOT/src/proto/google/protobuf/any.proto"
136+
downloadFile "https://raw.githubusercontent.com/protocolbuffers/protobuf/master/src/google/protobuf/empty.proto" "$PATH_ROOT/src/proto/google/protobuf/empty.proto"
137+
138+
echo ""
139+
echo "Compiling gRPC files"
140+
generateGrpc "$PATH_ROOT/src/proto" "dapr/proto/common/v1/common.proto"
141+
generateGrpc "$PATH_ROOT/src/proto" "dapr/proto/internals/v1/apiversion.proto"
142+
generateGrpc "$PATH_ROOT/src/proto" "dapr/proto/internals/v1/service_invocation.proto"
143+
generateGrpc "$PATH_ROOT/src/proto" "dapr/proto/internals/v1/status.proto"
144+
generateGrpc "$PATH_ROOT/src/proto" "dapr/proto/operator/v1/operator.proto"
145+
generateGrpc "$PATH_ROOT/src/proto" "dapr/proto/placement/v1/placement.proto"
146+
generateGrpc "$PATH_ROOT/src/proto" "dapr/proto/runtime/v1/appcallback.proto"
147+
generateGrpc "$PATH_ROOT/src/proto" "dapr/proto/runtime/v1/dapr.proto"
148+
generateGrpc "$PATH_ROOT/src/proto" "dapr/proto/sentry/v1/sentry.proto"
149+
150+
generateGrpc "$PATH_ROOT/src/proto" "google/protobuf/any.proto"
151+
generateGrpc "$PATH_ROOT/src/proto" "google/protobuf/empty.proto"
152+
153+
154+
echo ""
155+
echo "DONE"
156+
157+
#cleanup
158+
159+
generateGrpcSuccess

src/proto/dapr/proto/common/v1/common.proto

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
Copyright 2022 The Dapr Authors
2+
Copyright 2021 The Dapr Authors
33
Licensed under the Apache License, Version 2.0 (the "License");
44
you may not use this file except in compliance with the License.
55
You may obtain a copy of the License at

0 commit comments

Comments
 (0)