diff --git a/examples/WORKSPACE b/examples/WORKSPACE index bb00310719..936f244182 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 23380babc3..6aed44a4f3 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")