From e2ba3aa07009292617c3cabe734e8e44099b22ac Mon Sep 17 00:00:00 2001 From: "Lukacs T. Berki" Date: Tue, 6 Aug 2019 14:00:11 +0200 Subject: [PATCH] Update C++ code generation to work with Bazel 0.29 . The above Bazel version changes proto compilation slightly: some proto files are put into a `_virtual_imports` directory and thus `_get_include_directory` needs to be updated accordingly. Ideally, it would use instead the `ProtoInfo` provider to tease out the proto import directories, but that's a bit more intrusive change. --- bazel/protobuf.bzl | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/bazel/protobuf.bzl b/bazel/protobuf.bzl index f2df7bd87b2..3066e1d5500 100644 --- a/bazel/protobuf.bzl +++ b/bazel/protobuf.bzl @@ -59,6 +59,13 @@ def proto_path_to_generated_filename(proto_path, fmt_str): def _get_include_directory(include): directory = include.path prefix_len = 0 + + virtual_imports = "/_virtual_imports/" + if not include.is_source and virtual_imports in include.path: + root, relative = include.path.split(virtual_imports, 2) + result = root + virtual_imports + relative.split("/", 1)[0] + return result + if not include.is_source and directory.startswith(include.root.path): prefix_len = len(include.root.path) + 1