# Bazel + gRPC

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

| Repo             | Current   |
| ---------------- | --------- |
| `grpc/grpc`      | `v1.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`