summaryrefslogtreecommitdiffhomepage
path: root/gui/scripts
diff options
context:
space:
mode:
authorOskar Nyberg <oskar@mullvad.net>2020-07-24 17:08:04 +0200
committerDavid Lönnhager <david.l@mullvad.net>2020-08-20 14:41:41 +0200
commit5a8c41a8e25731045c4d2448d0205e557a46ce92 (patch)
tree683f4f660fa8d630d85aace6dccc0e5bcb8b79c0 /gui/scripts
parent9e958f849dbc471c13c78176a4112fe4a121ef43 (diff)
downloadmullvadvpn-5a8c41a8e25731045c4d2448d0205e557a46ce92.tar.xz
mullvadvpn-5a8c41a8e25731045c4d2448d0205e557a46ce92.zip
Add gRPC dependencies and add proto build script
Diffstat (limited to 'gui/scripts')
-rwxr-xr-xgui/scripts/build-proto.sh33
1 files changed, 33 insertions, 0 deletions
diff --git a/gui/scripts/build-proto.sh b/gui/scripts/build-proto.sh
new file mode 100755
index 0000000000..a6cf6a5d94
--- /dev/null
+++ b/gui/scripts/build-proto.sh
@@ -0,0 +1,33 @@
+#!/usr/bin/env bash
+
+set -eu
+
+SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+cd "$SCRIPT_DIR"
+
+NODE_MODULES_DIR="$(cd ../node_modules/.bin && pwd)"
+PROTO_DIR="../../mullvad-management-interface/proto"
+PROTO_FILENAME="management_interface.proto"
+DESTINATION_DIR="../build/src/main/management_interface"
+TYPES_DESTINATION_DIR="../src/main/management_interface"
+
+TS_PROTOC_PLUGIN="$NODE_MODULES_DIR/protoc-gen-ts"
+if [[ "$(uname -s)" == "MINGW"* ]]; then
+ TS_PROTOC_PLUGIN="$TS_PROTOC_PLUGIN.cmd"
+fi
+
+mkdir -p $DESTINATION_DIR
+mkdir -p $TYPES_DESTINATION_DIR
+
+"$NODE_MODULES_DIR/grpc_tools_node_protoc" \
+ --js_out=import_style=commonjs,binary:$DESTINATION_DIR \
+ --grpc_out=generate_package_definition:$DESTINATION_DIR \
+ --proto_path=$PROTO_DIR \
+ $PROTO_DIR/$PROTO_FILENAME
+
+"$NODE_MODULES_DIR/grpc_tools_node_protoc" \
+ --plugin=protoc-gen-ts=$TS_PROTOC_PLUGIN \
+ --ts_out=generate_package_definition:$TYPES_DESTINATION_DIR \
+ --proto_path=$PROTO_DIR \
+ $PROTO_DIR/$PROTO_FILENAME
+