From 7b29afcaebd449b4b051939e685588fcc9eac0d1 Mon Sep 17 00:00:00 2001 From: storypku Date: Sun, 28 Jun 2020 19:26:15 +0800 Subject: [PATCH] Bazel: add independent bazel directory --- bazel/BUILD | 3 +++ bazel/common.bzl | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 bazel/BUILD create mode 100644 bazel/common.bzl diff --git a/bazel/BUILD b/bazel/BUILD new file mode 100644 index 0000000000..67cb1e21da --- /dev/null +++ b/bazel/BUILD @@ -0,0 +1,3 @@ +package( + default_visibility = ["//visibility:public"], +) diff --git a/bazel/common.bzl b/bazel/common.bzl new file mode 100644 index 0000000000..260262cc44 --- /dev/null +++ b/bazel/common.bzl @@ -0,0 +1,36 @@ +# Sanitize a dependency so that it works correctly from code that includes +# TensorFlow as a submodule. +def clean_dep(dep): + return str(Label(dep)) + +# Ref: bazel-skylib@lib/paths.bzl +def basename(p): + """Returns the basename (i.e., the file portion) of a path. + Note that if `p` ends with a slash, this function returns an empty string. + This matches the behavior of Python's `os.path.basename`, but differs from + the Unix `basename` command (which would return the path segment preceding + the final slash). + Args: + p: The path whose basename should be returned. + Returns: + The basename of the path, which includes the extension. + """ + return p.rpartition("/")[-1] + +def dirname(p): + """Returns the dirname of a path. + The dirname is the portion of `p` up to but not including the file portion + (i.e., the basename). Any slashes immediately preceding the basename are not + included, unless omitting them would make the dirname empty. + Args: + p: The path whose dirname should be returned. + Returns: + The dirname of the path. + """ + prefix, sep, _ = p.rpartition("/") + if not prefix: + return sep + else: + # If there are multiple consecutive slashes, strip them all out as Python's + # os.path.dirname does. + return prefix.rstrip("/") -- GitLab