1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-11-26 17:38:39 +00:00
trezor-firmware/tools/build_protobuf
Saleem Rashid bbed79f658 build_protobuf: Refactor
* Use `set -e` to fail on error
* Change into script directory automatically
2017-12-24 12:16:24 +00:00

32 lines
690 B
Bash
Executable File

#!/bin/bash
set -e
cd "$(dirname "$0")"
GENPATH="../trezorlib/messages"
INDEX="$GENPATH/__init__.py"
PROTO_PATH="../../trezor-common/protob"
PROTO_FILES=(types messages storage)
PB2_OUT="pb2"
mkdir -p "$GENPATH"
cat > "$INDEX" << EOF
# Automatically generated by pb2py
EOF
mkdir -p "$PB2_OUT"
for file in "${PROTO_FILES[@]}"; do
# Compile .proto files to python2 modules using google protobuf library
protoc --python_out="$PB2_OUT" -I"$PROTO_PATH" "$file.proto"
done
for file in "${PROTO_FILES[@]}"; do
# Convert google protobuf library to trezor's internal format
./pb2py -P "trezorlib.protobuf" -p "$PB2_OUT" -l "$INDEX" "$file" "$GENPATH"
done
rm -rf "$PB2_OUT"