#!/bin/bash set -e cd "$(dirname "$0")/.." tmpdir="$(mktemp -d)" curl -Ls https://github.com/grpc/grpc-proto/archive/master.tar.gz | tar xz -C "$tmpdir" base="$tmpdir/grpc-proto-master" # Copy protos in 'src/main/proto' from grpc-proto for these projects for project in alts grpclb services rls interop-testing; do while read -r proto; do [ -f "$base/$proto" ] && cp "$base/$proto" "$project/src/main/proto/$proto" echo "$proto" done < <(cd "$project/src/main/proto" && find . -name "*.proto") done | sort > "$tmpdir/grpc-java.lst" (cd "$base" && find . -name "*.proto") | sort > "$tmpdir/base.lst" echo "Files synced:" comm -12 "$tmpdir/grpc-java.lst" "$tmpdir/base.lst" echo echo "Files in grpc-proto not synced:" comm -13 "$tmpdir/grpc-java.lst" "$tmpdir/base.lst" echo echo "Files in grpc-java not synced:" comm -23 "$tmpdir/grpc-java.lst" "$tmpdir/base.lst" rm -r "$tmpdir"