compile_protobufs.sh 745 B

123456789101112131415161718
  1. #!/usr/bin/env bash
  2. set -euo pipefail
  3. fatal () { printf 'FATAL: %s\n' "${*}" >&2; exit 1; }
  4. _src="$(cd -P -- "$(dirname -- "${BASH_SOURCE[0]}")" &> /dev/null && pwd -P)"
  5. cd "${_src}" || fatal "failed to change to script source directory: ${_src}"
  6. for cmd in "protoc" "protoc-gen-go"; do
  7. command -v "${cmd}" &> /dev/null || fatal "required command not found: ${cmd}"
  8. done
  9. find . -mindepth 1 -maxdepth 1 -type d -name 'ca.psiphon.*' | sed -e 's|^\./||' | while IFS= read -r src; do
  10. pkg="${src##*.}"
  11. mkdir -p "../pb/${pkg}" || fatal "failed to create compiled protobuf directory: ../pb/${pkg}"
  12. protoc --go_out="../pb/${pkg}/" --go_opt="module=github.com/Psiphon-Labs/psiphon-tunnel-core/psiphon/server/pb/${pkg}" "${src}/"*.proto
  13. done