From 35119e39a07f426f3c48a1bfb41d862994223742 Mon Sep 17 00:00:00 2001 From: Fahrzin Hemmati Date: Tue, 28 Nov 2017 14:24:53 -0800 Subject: Add a check_protobuf_required_bazel_version() for use in WORKSPACEs --- examples/WORKSPACE | 2 ++ protobuf.bzl | 12 ++++++++++++ 2 files changed, 14 insertions(+) diff --git a/examples/WORKSPACE b/examples/WORKSPACE index bb003107..936f2441 100644 --- a/examples/WORKSPACE +++ b/examples/WORKSPACE @@ -5,6 +5,8 @@ http_archive( strip_prefix = "protobuf-master", urls = ["https://github.com/google/protobuf/archive/master.zip"], ) +load("@com_google_protobuf//:protobuf.bzl", "check_protobuf_required_bazel_version") +check_protobuf_required_bazel_version() # This com_google_protobuf_cc repository is required for cc_proto_library # rule. It provides protobuf C++ runtime. Note that it actually is the same diff --git a/protobuf.bzl b/protobuf.bzl index 23380bab..6aed44a4 100644 --- a/protobuf.bzl +++ b/protobuf.bzl @@ -400,3 +400,15 @@ def internal_protobuf_py_tests( srcs=[s], main=s, **kargs) + + +def check_protobuf_required_bazel_version(): + """For WORKSPACE files, to check the installed version of bazel. + + This ensures bazel supports our approach to proto_library() depending on a + copied filegroup. (Fixed in bazel 0.5.4) + """ + expected = apple_common.dotted_version("0.5.4") + current = apple_common.dotted_version(native.bazel_version) + if current.compare_to(expected) < 0: + fail("Bazel must be newer than 0.5.4") -- cgit v1.2.3