1#!/bin/bash 2set -e 3 4cd "$(dirname "$0")/.." 5 6tmpdir="$(mktemp -d)" 7curl -Ls https://github.com/grpc/grpc-proto/archive/master.tar.gz | tar xz -C "$tmpdir" 8base="$tmpdir/grpc-proto-master" 9 10# Copy protos in 'src/main/proto' from grpc-proto for these projects 11for project in alts grpclb services rls interop-testing; do 12 while read -r proto; do 13 [ -f "$base/$proto" ] && cp "$base/$proto" "$project/src/main/proto/$proto" 14 echo "$proto" 15 done < <(cd "$project/src/main/proto" && find . -name "*.proto") 16done | sort > "$tmpdir/grpc-java.lst" 17 18(cd "$base" && find . -name "*.proto") | sort > "$tmpdir/base.lst" 19echo "Files synced:" 20comm -12 "$tmpdir/grpc-java.lst" "$tmpdir/base.lst" 21 22echo 23echo "Files in grpc-proto not synced:" 24comm -13 "$tmpdir/grpc-java.lst" "$tmpdir/base.lst" 25 26echo 27echo "Files in grpc-java not synced:" 28comm -23 "$tmpdir/grpc-java.lst" "$tmpdir/base.lst" 29 30rm -r "$tmpdir" 31