blob: 3cfcdad2fc82043cf68a043d2a24b42e2a856fc5 [file] [log] [blame] [view]
# Bazel + gRPC
This directory contains the gRPC libraries needed by Bazel, sourced from
<https://github.com/grpc/grpc>.
| Repo | Current |
| ---------------- | --------- |
| `grpc/grpc` | `v1.48.1` |
## 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`, `WORKSPACE`, 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`