@dashevo/dapi-grpc 0.25.0-dev.9 → 0.25.0-pr.1545.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/scripts/build.sh CHANGED
@@ -1,4 +1,12 @@
1
1
  #!/usr/bin/env bash
2
+ # shellcheck disable=SC2250
3
+ #
4
+
5
+ SKIP_GRPC_PROTO_BUILD=${SKIP_GRPC_PROTO_BUILD:-0}
6
+ if [[ "${SKIP_GRPC_PROTO_BUILD}" == "1" ]]; then
7
+ echo WARN: Skipping GRPC protobuf definitions rebuild
8
+ exit 0
9
+ fi
2
10
 
3
11
  CORE_PROTO_PATH="$PWD/protos/core/v0"
4
12
  CORE_CLIENTS_PATH="$PWD/clients/core/v0"
@@ -18,30 +26,29 @@ PLATFORM_OBJ_C_OUT_PATH="$PLATFORM_CLIENTS_PATH/objective-c"
18
26
  CORE_PYTHON_OUT_PATH="$CORE_CLIENTS_PATH/python"
19
27
  PLATFORM_PYTHON_OUT_PATH="$PLATFORM_CLIENTS_PATH/python"
20
28
 
21
- CORE_RUST_OUT_PATH="$CORE_CLIENTS_PATH/rust"
22
- PLATFORM_RUST_OUT_PATH="$PLATFORM_CLIENTS_PATH/rust"
23
-
24
29
  PROTOC_IMAGE="rvolosatovs/protoc:4.0.0"
25
30
 
31
+ set -ex
32
+
26
33
  #################################################
27
34
  # Generate JavaScript client for `Core` service #
28
35
  #################################################
29
36
 
30
- rm -rf "$CORE_WEB_OUT_PATH/*"
37
+ rm -rf "${CORE_WEB_OUT_PATH:?}/*" || true
31
38
 
32
39
  docker run -v "$CORE_PROTO_PATH:$CORE_PROTO_PATH" \
33
- -v "$CORE_WEB_OUT_PATH:$CORE_WEB_OUT_PATH" \
34
- --rm \
35
- "$PROTOC_IMAGE" \
36
- --js_out="import_style=commonjs:$CORE_WEB_OUT_PATH" \
37
- --ts_out="service=grpc-web:$CORE_WEB_OUT_PATH" \
38
- -I="$CORE_PROTO_PATH" \
39
- "core.proto"
40
+ -v "$CORE_WEB_OUT_PATH:$CORE_WEB_OUT_PATH" \
41
+ --rm \
42
+ "$PROTOC_IMAGE" \
43
+ --js_out="import_style=commonjs:$CORE_WEB_OUT_PATH" \
44
+ --ts_out="service=grpc-web:$CORE_WEB_OUT_PATH" \
45
+ -I="$CORE_PROTO_PATH" \
46
+ "core.proto"
40
47
 
41
48
  # Clean node message classes
42
49
 
43
- rm -rf "$CORE_CLIENTS_PATH/nodejs/*_protoc.js"
44
- rm -rf "$CORE_CLIENTS_PATH/nodejs/*_pbjs.js"
50
+ rm -rf "$CORE_CLIENTS_PATH/nodejs/*_protoc.js" || true
51
+ rm -rf "$CORE_CLIENTS_PATH/nodejs/*_pbjs.js" || true
45
52
 
46
53
  # Copy compiled modules with message classes
47
54
 
@@ -59,21 +66,21 @@ pbjs \
59
66
  # Generate JavaScript client for `Platform` service #
60
67
  #####################################################
61
68
 
62
- rm -rf "$PLATFORM_WEB_OUT_PATH/*"
69
+ rm -rf "${PLATFORM_WEB_OUT_PATH:?}/*" || true
63
70
 
64
71
  docker run -v "$PLATFORM_PROTO_PATH:$PLATFORM_PROTO_PATH" \
65
- -v "$PLATFORM_WEB_OUT_PATH:$PLATFORM_WEB_OUT_PATH" \
66
- --rm \
67
- "$PROTOC_IMAGE" \
68
- --js_out="import_style=commonjs:$PLATFORM_WEB_OUT_PATH" \
69
- --ts_out="service=grpc-web:$PLATFORM_WEB_OUT_PATH" \
70
- -I="$PLATFORM_PROTO_PATH" \
71
- "platform.proto"
72
+ -v "$PLATFORM_WEB_OUT_PATH:$PLATFORM_WEB_OUT_PATH" \
73
+ --rm \
74
+ "$PROTOC_IMAGE" \
75
+ --js_out="import_style=commonjs:$PLATFORM_WEB_OUT_PATH" \
76
+ --ts_out="service=grpc-web:$PLATFORM_WEB_OUT_PATH" \
77
+ -I="$PLATFORM_PROTO_PATH" \
78
+ "platform.proto"
72
79
 
73
80
  # Clean node message classes
74
81
 
75
- rm -rf "$PLATFORM_CLIENTS_PATH/nodejs/*_protoc.js"
76
- rm -rf "$PLATFORM_CLIENTS_PATH/nodejs/*_pbjs.js"
82
+ rm -rf "$PLATFORM_CLIENTS_PATH/nodejs/*_protoc.js" || true
83
+ rm -rf "$PLATFORM_CLIENTS_PATH/nodejs/*_pbjs.js" || true
77
84
 
78
85
  # Copy compiled modules with message classes
79
86
 
@@ -90,132 +97,101 @@ pbjs \
90
97
  # Generate Java client for `Core` #
91
98
  ###################################
92
99
 
93
- rm -rf "$CORE_JAVA_OUT_PATH/*"
100
+ rm -rf "${CORE_JAVA_OUT_PATH:?}/*" || true
94
101
 
95
102
  docker run -v "$CORE_PROTO_PATH:$CORE_PROTO_PATH" \
96
- -v "$CORE_JAVA_OUT_PATH:$CORE_JAVA_OUT_PATH" \
97
- --rm \
98
- "$PROTOC_IMAGE" \
99
- --plugin=protoc-gen-grpc=/usr/bin/protoc-gen-grpc-java \
100
- --grpc-java_out="$CORE_JAVA_OUT_PATH" \
101
- --proto_path="$CORE_PROTO_PATH" \
102
- -I="$CORE_PROTO_PATH" \
103
- "core.proto"
103
+ -v "$CORE_JAVA_OUT_PATH:$CORE_JAVA_OUT_PATH" \
104
+ --rm \
105
+ "$PROTOC_IMAGE" \
106
+ --plugin=protoc-gen-grpc=/usr/bin/protoc-gen-grpc-java \
107
+ --grpc-java_out="$CORE_JAVA_OUT_PATH" \
108
+ --proto_path="$CORE_PROTO_PATH" \
109
+ -I="$CORE_PROTO_PATH" \
110
+ "core.proto"
104
111
 
105
112
  #######################################
106
113
  # Generate Java client for `Platform` #
107
114
  #######################################
108
115
 
109
- rm -rf "$PLATFORM_JAVA_OUT_PATH/*"
116
+ rm -rf "${PLATFORM_JAVA_OUT_PATH:?}/*" || true
110
117
 
111
118
  docker run -v "$PLATFORM_PROTO_PATH:$PLATFORM_PROTO_PATH" \
112
- -v "$PLATFORM_JAVA_OUT_PATH:$PLATFORM_JAVA_OUT_PATH" \
113
- --rm \
114
- "$PROTOC_IMAGE" \
115
- --plugin=protoc-gen-grpc=/usr/bin/protoc-gen-grpc-java \
116
- --grpc-java_out="$PLATFORM_JAVA_OUT_PATH" \
117
- --proto_path="$PLATFORM_PROTO_PATH" \
118
- -I="$PLATFORM_PROTO_PATH" \
119
- "platform.proto"
119
+ -v "$PLATFORM_JAVA_OUT_PATH:$PLATFORM_JAVA_OUT_PATH" \
120
+ --rm \
121
+ "$PROTOC_IMAGE" \
122
+ --plugin=protoc-gen-grpc=/usr/bin/protoc-gen-grpc-java \
123
+ --grpc-java_out="$PLATFORM_JAVA_OUT_PATH" \
124
+ --proto_path="$PLATFORM_PROTO_PATH" \
125
+ -I="$PLATFORM_PROTO_PATH" \
126
+ "platform.proto"
120
127
 
121
128
  ##########################################
122
129
  # Generate Objective-C client for `Core` #
123
130
  ##########################################
124
131
 
125
- rm -rf "$CORE_OBJ_C_OUT_PATH/*"
132
+ rm -rf "${CORE_OBJ_C_OUT_PATH:?}/*" || true
126
133
 
127
134
  docker run -v "$CORE_PROTO_PATH:$CORE_PROTO_PATH" \
128
- -v "$CORE_OBJ_C_OUT_PATH:$CORE_OBJ_C_OUT_PATH" \
129
- --rm \
130
- "$PROTOC_IMAGE" \
131
- --plugin=protoc-gen-grpc=/usr/bin/grpc_objective_c_plugin \
132
- --objc_out="$CORE_OBJ_C_OUT_PATH" \
133
- --grpc_out="$CORE_OBJ_C_OUT_PATH" \
134
- --proto_path="$CORE_PROTO_PATH" \
135
- -I="$CORE_PROTO_PATH" \
136
- "core.proto"
135
+ -v "$CORE_OBJ_C_OUT_PATH:$CORE_OBJ_C_OUT_PATH" \
136
+ --rm \
137
+ "$PROTOC_IMAGE" \
138
+ --plugin=protoc-gen-grpc=/usr/bin/grpc_objective_c_plugin \
139
+ --objc_out="$CORE_OBJ_C_OUT_PATH" \
140
+ --grpc_out="$CORE_OBJ_C_OUT_PATH" \
141
+ --proto_path="$CORE_PROTO_PATH" \
142
+ -I="$CORE_PROTO_PATH" \
143
+ "core.proto"
137
144
 
138
145
  ##############################################
139
146
  # Generate Objective-C client for `Platform` #
140
147
  ##############################################
141
148
 
142
- rm -rf "$PLATFORM_OBJ_C_OUT_PATH/*"
149
+ rm -rf "${PLATFORM_OBJ_C_OUT_PATH:?}/*" || true
143
150
 
144
151
  docker run -v "$PLATFORM_PROTO_PATH:$PLATFORM_PROTO_PATH" \
145
- -v "$PLATFORM_OBJ_C_OUT_PATH:$PLATFORM_OBJ_C_OUT_PATH" \
146
- --rm \
147
- "$PROTOC_IMAGE" \
148
- --plugin=protoc-gen-grpc=/usr/bin/grpc_objective_c_plugin \
149
- --objc_out="$PLATFORM_OBJ_C_OUT_PATH" \
150
- --grpc_out="$PLATFORM_OBJ_C_OUT_PATH" \
151
- --proto_path="$PLATFORM_PROTO_PATH" \
152
- -I="$PLATFORM_PROTO_PATH" \
153
- "platform.proto"
152
+ -v "$PLATFORM_OBJ_C_OUT_PATH:$PLATFORM_OBJ_C_OUT_PATH" \
153
+ --rm \
154
+ "$PROTOC_IMAGE" \
155
+ --plugin=protoc-gen-grpc=/usr/bin/grpc_objective_c_plugin \
156
+ --objc_out="$PLATFORM_OBJ_C_OUT_PATH" \
157
+ --grpc_out="$PLATFORM_OBJ_C_OUT_PATH" \
158
+ --proto_path="$PLATFORM_PROTO_PATH" \
159
+ -I="$PLATFORM_PROTO_PATH" \
160
+ "platform.proto"
154
161
 
155
162
  #####################################
156
163
  # Generate Python client for `Core` #
157
164
  #####################################
158
165
 
159
- rm -rf "$CORE_PYTHON_OUT_PATH/*"
166
+ rm -rf "${CORE_PYTHON_OUT_PATH:?}/*" || true
160
167
 
161
168
  docker run -v "$CORE_PROTO_PATH:$CORE_PROTO_PATH" \
162
- -v "$CORE_PYTHON_OUT_PATH:$CORE_PYTHON_OUT_PATH" \
163
- --rm \
164
- "$PROTOC_IMAGE" \
165
- --plugin=protoc-gen-grpc=/usr/bin/grpc_python_plugin \
166
- --python_out="$CORE_PYTHON_OUT_PATH" \
167
- --grpc_out="$CORE_PYTHON_OUT_PATH" \
168
- --proto_path="$CORE_PROTO_PATH" \
169
- -I="$CORE_PROTO_PATH" \
170
- "core.proto"
169
+ -v "$CORE_PYTHON_OUT_PATH:$CORE_PYTHON_OUT_PATH" \
170
+ --rm \
171
+ "$PROTOC_IMAGE" \
172
+ --plugin=protoc-gen-grpc=/usr/bin/grpc_python_plugin \
173
+ --python_out="$CORE_PYTHON_OUT_PATH" \
174
+ --grpc_out="$CORE_PYTHON_OUT_PATH" \
175
+ --proto_path="$CORE_PROTO_PATH" \
176
+ -I="$CORE_PROTO_PATH" \
177
+ "core.proto"
171
178
 
172
179
  #########################################
173
180
  # Generate Python client for `Platform` #
174
181
  #########################################
175
182
 
176
- rm -rf "$PLATFORM_PYTHON_OUT_PATH/*"
177
-
178
- docker run -v "$PLATFORM_PROTO_PATH:$PLATFORM_PROTO_PATH" \
179
- -v "$PLATFORM_PYTHON_OUT_PATH:$PLATFORM_PYTHON_OUT_PATH" \
180
- --rm \
181
- "$PROTOC_IMAGE" \
182
- --plugin=protoc-gen-grpc=/usr/bin/grpc_python_plugin \
183
- --python_out="$PLATFORM_PYTHON_OUT_PATH" \
184
- --grpc_out="$PLATFORM_PYTHON_OUT_PATH" \
185
- --proto_path="$PLATFORM_PROTO_PATH" \
186
- -I="$PLATFORM_PROTO_PATH" \
187
- "platform.proto"
188
-
189
- ###################################
190
- # Generate Rust client for `Core` #
191
- ###################################
192
-
193
- rm -rf "$CORE_RUST_OUT_PATH/*"
194
-
195
- docker run -v "$CORE_PROTO_PATH:$CORE_PROTO_PATH" \
196
- -v "$CORE_RUST_OUT_PATH:$CORE_RUST_OUT_PATH" \
197
- --rm \
198
- "$PROTOC_IMAGE" \
199
- --plugin=protoc-gen-grpc=/usr/bin/protoc-gen-grpc-rust \
200
- --rust_out="$CORE_RUST_OUT_PATH" \
201
- --grpc_out="$CORE_RUST_OUT_PATH" \
202
- --proto_path="$CORE_PROTO_PATH" \
203
- -I="$CORE_PROTO_PATH" \
204
- "core.proto"
205
-
206
- #######################################
207
- # Generate Rust client for `Platform` #
208
- #######################################
209
-
210
- rm -rf "$PLATFORM_RUST_OUT_PATH/*"
183
+ rm -rf "${PLATFORM_PYTHON_OUT_PATH:?}/*" || true
211
184
 
212
185
  docker run -v "$PLATFORM_PROTO_PATH:$PLATFORM_PROTO_PATH" \
213
- -v "$PLATFORM_RUST_OUT_PATH:$PLATFORM_RUST_OUT_PATH" \
214
- --rm \
215
- "$PROTOC_IMAGE" \
216
- --plugin=protoc-gen-grpc=/usr/bin/protoc-gen-grpc-rust \
217
- --rust_out="$PLATFORM_RUST_OUT_PATH" \
218
- --grpc_out="$PLATFORM_RUST_OUT_PATH" \
219
- --proto_path="$PLATFORM_PROTO_PATH" \
220
- -I="$PLATFORM_PROTO_PATH" \
221
- "platform.proto"
186
+ -v "$PLATFORM_PYTHON_OUT_PATH:$PLATFORM_PYTHON_OUT_PATH" \
187
+ --rm \
188
+ "$PROTOC_IMAGE" \
189
+ --plugin=protoc-gen-grpc=/usr/bin/grpc_python_plugin \
190
+ --python_out="$PLATFORM_PYTHON_OUT_PATH" \
191
+ --grpc_out="$PLATFORM_PYTHON_OUT_PATH" \
192
+ --proto_path="$PLATFORM_PROTO_PATH" \
193
+ -I="$PLATFORM_PROTO_PATH" \
194
+ "platform.proto"
195
+
196
+ # Patch generated protobuf files
197
+ exec "${PWD}/scripts/patch-protobuf-js.sh"
@@ -1,21 +1,22 @@
1
1
  #!/bin/bash
2
+ # shellcheck disable=SC2250
3
+ set -e
2
4
 
3
5
  files=$(find "$PWD/clients/core/v0/web" "$PWD/clients/core/v0/nodejs" "$PWD/clients/platform/v0/web" "$PWD/clients/platform/v0/nodejs" -name "*_pb.js" -o -name "*_protoc.js")
4
6
  OS=$(uname)
5
7
 
6
8
  function replace_in_file() {
7
- if [ "$OS" = 'Darwin' ]; then
8
- # for MacOS
9
- sed -i '' -e "$1" "$2"
10
- else
11
- # for Linux and Windows
12
- sed -i'' -e "$1" "$2"
13
- fi
9
+ if [[ "$OS" = 'Darwin' ]]; then
10
+ # for MacOS
11
+ sed -i '' -e "$1" "$2"
12
+ else
13
+ # for Linux and Windows
14
+ sed -i'' -e "$1" "$2"
15
+ fi
14
16
  }
15
17
 
16
18
  # Loop over the files
17
- for file in $files
18
- do
19
+ for file in $files; do
19
20
 
20
21
  replace_in_file 's/var global = Function('\''return this'\'')();/const proto = {};/g' "$file"
21
22
  if grep -qrE "[^a-zA-Z]Function\(" "$file"; then