Files
go-libp2p/scripts/gen-proto.sh

36 lines
1.1 KiB
Bash
Executable File

#!/usr/bin/env bash
set -eou pipefail
root=$1
proto_array=(
core/crypto/pb/crypto.proto
core/record/pb/envelope.proto
core/peer/pb/peer_record.proto
core/sec/insecure/pb/plaintext.proto
p2p/host/autonat/pb/autonat.proto
p2p/security/noise/pb/payload.proto
p2p/transport/webrtc/pb/message.proto
p2p/protocol/identify/pb/identify.proto
p2p/protocol/circuitv2/pb/circuit.proto
p2p/protocol/circuitv2/pb/voucher.proto
p2p/protocol/autonatv2/pb/autonatv2.proto
p2p/protocol/holepunch/pb/holepunch.proto
p2p/host/peerstore/pstoreds/pb/pstore.proto
)
proto_paths=""
for path in "${proto_array[@]}"; do
proto_paths+="$path "
done
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROTOC_BIN_PATH="$("${SCRIPT_DIR}/download-protoc.sh")"
export PATH="$PROTOC_BIN_PATH:$PATH"
echo protoc --version $(protoc --version)
(cd ${SCRIPT_DIR} && go build -o protoc-gen-go google.golang.org/protobuf/cmd/protoc-gen-go)
echo protoc-gen-go --version $(${SCRIPT_DIR}/protoc-gen-go --version)
protoc --plugin="${SCRIPT_DIR}/protoc-gen-go" --proto_path=$root --go_out=$root --go_opt=paths=source_relative $proto_paths