schema.sh 952 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #!/bin/bash
  2. set -e
  3. export PROTOBUF_ROOT=$HOME/.local
  4. export WORKSPACE=$PWD
  5. # -----------------------------------------------------------------------------
  6. function generate_grpc_by_lang() {
  7. local target=$WORKSPACE/$1
  8. echo "generate code for $1"
  9. if [ -d $target ]
  10. then
  11. rm -r $target
  12. fi
  13. mkdir -p $target
  14. $PROTOBUF_ROOT/bin/protoc -I $WORKSPACE/../protocols \
  15. -I $PROTOBUF_ROOT/include/google/protobuf \
  16. --${1}_out=$target --grpc_out=$target \
  17. --plugin=protoc-gen-grpc=$PROTOBUF_ROOT/bin/grpc_${1}_plugin \
  18. $WORKSPACE/../protocols/*.proto
  19. }
  20. # -----------------------------------------------------------------------------
  21. declare -a languages=(
  22. "php"
  23. "python"
  24. "ruby"
  25. "cpp"
  26. "csharp"
  27. "java"
  28. )
  29. for l in "${languages[@]}"
  30. do
  31. generate_grpc_by_lang $l
  32. done
  33. # -----------------------------------------------------------------------------
  34. echo 'done.'
  35. exit 0