aboutsummaryrefslogtreecommitdiffhomepage
path: root/tensorflow/workspace.bzl
diff options
context:
space:
mode:
Diffstat (limited to 'tensorflow/workspace.bzl')
-rw-r--r--tensorflow/workspace.bzl30
1 files changed, 30 insertions, 0 deletions
diff --git a/tensorflow/workspace.bzl b/tensorflow/workspace.bzl
index 01f54e70b8..5cea08e2f3 100644
--- a/tensorflow/workspace.bzl
+++ b/tensorflow/workspace.bzl
@@ -4,6 +4,36 @@ load("//third_party/gpus:cuda_configure.bzl", "cuda_configure")
load("//third_party/sycl:sycl_configure.bzl", "sycl_configure")
+# Parse the bazel version string from `native.bazel_version`.
+def _parse_bazel_version(bazel_version):
+ # Remove commit from version.
+ version = bazel_version.split(" ", 1)[0]
+
+ # Split into (release, date) parts and only return the release
+ # as a tuple of integers.
+ parts = version.split('-', 1)
+
+ # Turn "release" into a tuple of strings
+ version_tuple = ()
+ for number in parts[0].split('.'):
+ version_tuple += (str(number),)
+ return version_tuple
+
+# Check that a specific bazel version is being used.
+def check_version(bazel_version):
+ if "bazel_version" not in dir(native):
+ fail("\nCurrent Bazel version is lower than 0.2.1, expected at least %s\n" % bazel_version)
+ elif not native.bazel_version:
+ print("\nCurrent Bazel is not a release version, cannot check for compatibility.")
+ print("Make sure that you are running at least Bazel %s.\n" % bazel_version)
+ else:
+ current_bazel_version = _parse_bazel_version(native.bazel_version)
+ minimum_bazel_version = _parse_bazel_version(bazel_version)
+ if minimum_bazel_version > current_bazel_version:
+ fail("\nCurrent Bazel version is {}, expected at least {}\n".format(
+ native.bazel_version, bazel_version))
+ pass
+
# If TensorFlow is linked as a submodule.
# path_prefix and tf_repo_name are no longer used.
def tf_workspace(path_prefix = "", tf_repo_name = ""):