Bazel + gRPC

This directory contains the gRPC libraries needed by Bazel, sourced from https://github.com/grpc/grpc.

RepoCurrent
grpc/grpcv1.41.0

Updating third_party/grpc

This requires 3 pull requests:

  1. Update third_party/grpc to include files from new version

  2. Switch distdir_deps.bzl, scripts/bootstrap/compile.sh, and any other references to new version

  3. Remove older version from third_party/grpc

How to update the C++ sources of gRPC

  1. Update the gRPC patch file if necessary, it mostly helps avoid unnecessary dependencies.
  2. Update third_party/grpc/BUILD to redirect targets to @com_github_grpc_grpc if necessary.
  3. In a separate PR, update the gRPC definitions in the distdir_deps.bzl file.

How to update the BUILD/bzl sources of gRPC

  1. git clone http://github.com/grpc/grpc.git in a convenient directory
  2. git checkout v${GRPC_VERSION_NUM}
  3. mkdir -p third_party/grpc/bazel
  4. cp <gRPC git tree>/bazel/{BUILD,cc_grpc_library.bzl,generate_cc.bzl,protobuf.bzl} third_party/grpc/bazel
  5. In the third_party/grpc/grpc directory, apply local patches: patch -p4 < bazel_${GRPC_VERSION_NUM}.patch