protobufs/scripts/rust-gen.sh

23 lines
1.5 KiB
Bash
Raw Normal View History

#!/bin/bash
for f in *.proto
do
name=$(basename $f .proto)
mkdir -p ./rust-grpc/$name
protoc \
--prost_out=./rust-grpc/$name \
--tonic_out=./rust-grpc/$name \
$f
2024-07-14 15:42:20 +00:00
#I couldn't figure out how to configure protoc to do this
2024-07-16 20:01:05 +00:00
sed -i "s/#\[derive(Clone, PartialEq, ::prost::Message)\]/#\[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)\]\n#\[serde(rename_all_fields = \"PascalCase\")\]/g" "./rust-grpc/$name/$name.rs"
2024-07-16 20:20:56 +00:00
sed -i "s/\tpub id:/\t\[serde(rename = \"ID\")\]\n\tpub id:" "./rust-grpc/$name/$name.rs"
sed -i "s/\tpub time_id:/\t\[serde(rename = \"TimeID\")\]\n\tpub time_id:" "./rust-grpc/$name/$name.rs"
sed -i "s/\tpub file_id:/\t\[serde(rename = \"FileID\")\]\n\tpub file_id:" "./rust-grpc/$name/$name.rs"
sed -i "s/\tpub game_id:/\t\[serde(rename = \"GameID\")\]\n\tpub game_id:" "./rust-grpc/$name/$name.rs"
sed -i "s/\tpub user_id:/\t\[serde(rename = \"UserID\")\]\n\tpub user_id:" "./rust-grpc/$name/$name.rs"
sed -i "s/\tpub mode_id:/\t\[serde(rename = \"ModeID\")\]\n\tpub mode_id:" "./rust-grpc/$name/$name.rs"
sed -i "s/\tpub style_id:/\t\[serde(rename = \"StyleID\")\]\n\tpub style_id:" "./rust-grpc/$name/$name.rs"
sed -i "s/\tpub state_id:/\t\[serde(rename = \"StateID\")\]\n\tpub state_id:" "./rust-grpc/$name/$name.rs"
sed -i "s/\tpub place_id:/\t\[serde(rename = \"PlaceID\")\]\n\tpub place_id:" "./rust-grpc/$name/$name.rs"
sed -i "s/\tpub vip_server_id:/\t\[serde(rename = \"VipServerID\")\]\n\tpub vip_server_id:" "./rust-grpc/$name/$name.rs"
done