mirror of
https://github.com/tensorflow/tensorflow.git
synced 2024-11-21 21:05:19 +00:00
5b1f2fb809
PiperOrigin-RevId: 622283235
104 lines
3.0 KiB
Python
104 lines
3.0 KiB
Python
# buildifier: disable=load-on-top
|
|
|
|
workspace(name = "org_tensorflow")
|
|
|
|
# buildifier: disable=load-on-top
|
|
|
|
# We must initialize hermetic python first.
|
|
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
|
|
|
|
http_archive(
|
|
name = "bazel_skylib",
|
|
sha256 = "74d544d96f4a5bb630d465ca8bbcfe231e3594e5aae57e1edbf17a6eb3ca2506",
|
|
urls = [
|
|
"https://storage.googleapis.com/mirror.tensorflow.org/github.com/bazelbuild/bazel-skylib/releases/download/1.3.0/bazel-skylib-1.3.0.tar.gz",
|
|
"https://github.com/bazelbuild/bazel-skylib/releases/download/1.3.0/bazel-skylib-1.3.0.tar.gz",
|
|
],
|
|
)
|
|
|
|
http_archive(
|
|
name = "rules_java",
|
|
sha256 = "c73336802d0b4882e40770666ad055212df4ea62cfa6edf9cb0f9d29828a0934",
|
|
url = "https://github.com/bazelbuild/rules_java/releases/download/5.3.5/rules_java-5.3.5.tar.gz",
|
|
)
|
|
|
|
http_archive(
|
|
name = "rules_python",
|
|
sha256 = "9d04041ac92a0985e344235f5d946f71ac543f1b1565f2cdbc9a2aaee8adf55b",
|
|
strip_prefix = "rules_python-0.26.0",
|
|
url = "https://github.com/bazelbuild/rules_python/releases/download/0.26.0/rules_python-0.26.0.tar.gz",
|
|
)
|
|
|
|
# buildifier: disable=same-origin-load
|
|
load("@rules_python//python:repositories.bzl", "py_repositories")
|
|
|
|
py_repositories()
|
|
|
|
load("@rules_python//python:repositories.bzl", "python_register_toolchains") # buildifier: disable=same-origin-load
|
|
load(
|
|
"//tensorflow/tools/toolchains/python:python_repo.bzl",
|
|
"python_repository",
|
|
)
|
|
|
|
python_repository(name = "python_version_repo")
|
|
|
|
load("@python_version_repo//:py_version.bzl", "TF_PYTHON_VERSION")
|
|
|
|
python_register_toolchains(
|
|
name = "python",
|
|
ignore_root_user_error = True,
|
|
python_version = TF_PYTHON_VERSION,
|
|
)
|
|
|
|
load("@python//:defs.bzl", "interpreter")
|
|
load("@rules_python//python:pip.bzl", "package_annotation", "pip_parse")
|
|
|
|
NUMPY_ANNOTATIONS = {
|
|
"numpy": package_annotation(
|
|
additive_build_content = """\
|
|
filegroup(
|
|
name = "includes",
|
|
srcs = glob(["site-packages/numpy/core/include/**/*.h"]),
|
|
)
|
|
cc_library(
|
|
name = "numpy_headers",
|
|
hdrs = [":includes"],
|
|
strip_include_prefix="site-packages/numpy/core/include/",
|
|
)
|
|
""",
|
|
),
|
|
}
|
|
|
|
pip_parse(
|
|
name = "pypi",
|
|
annotations = NUMPY_ANNOTATIONS,
|
|
python_interpreter_target = interpreter,
|
|
requirements = "//:requirements_lock_" + TF_PYTHON_VERSION.replace(".", "_") + ".txt",
|
|
)
|
|
|
|
load("@pypi//:requirements.bzl", "install_deps")
|
|
|
|
install_deps()
|
|
|
|
# Initialize the TensorFlow repository and all dependencies.
|
|
#
|
|
# The cascade of load() statements and tf_workspace?() calls works around the
|
|
# restriction that load() statements need to be at the top of .bzl files.
|
|
# E.g. we can not retrieve a new repository with http_archive and then load()
|
|
# a macro from that repository in the same file.
|
|
load("@//tensorflow:workspace3.bzl", "tf_workspace3")
|
|
|
|
tf_workspace3()
|
|
|
|
load("@//tensorflow:workspace2.bzl", "tf_workspace2")
|
|
|
|
tf_workspace2()
|
|
|
|
load("@//tensorflow:workspace1.bzl", "tf_workspace1")
|
|
|
|
tf_workspace1()
|
|
|
|
load("@//tensorflow:workspace0.bzl", "tf_workspace0")
|
|
|
|
tf_workspace0()
|