workspace(name = "tensorflow_core_api")

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

# TensorFlow archive
# Note: Make sure to synchronize Maven dependencies inherited from TensorFlow binaries when updating
# the version of this archive (e.g. google protobuf)
http_archive(
    name = "org_tensorflow",
    patches = [
        ":tensorflow-visibility.patch",
#        ":tensorflow-macosx.patch",
#        ":tensorflow-windows.patch", # https://github.com/tensorflow/tensorflow/issues/25213
        ":tensorflow-proto.patch",
        ":custom-grad-symbols.patch",
    ],
    patch_tool = "patch",
    patch_args = ["-p1"],
    patch_cmds = ["grep -rl 'java_package' tensorflow/core | xargs sed -i.bak 's/^\(.* java_package = \"org\.tensorflow\.\)\(.*\"\)/\\1proto.\\2'/"],
    urls = [
       "https://github.com/tensorflow/tensorflow/archive/refs/tags/v2.7.0.tar.gz",
    ],
    sha256 = "bb124905c7fdacd81e7c842b287c169bbf377d29c74c9dacc04f96c9793747bb",
    strip_prefix = "tensorflow-2.7.0"
)

# START: Upstream TensorFlow dependencies
# TensorFlow build depends on these dependencies.
# Needs to be in-sync with TensorFlow sources.
load("@org_tensorflow//tensorflow:workspace3.bzl", "tf_workspace3")

tf_workspace3()

load("@org_tensorflow//tensorflow:workspace2.bzl", "tf_workspace2")

tf_workspace2()

load("@org_tensorflow//tensorflow:workspace1.bzl", "tf_workspace1")

tf_workspace1()

load("@org_tensorflow//tensorflow:workspace0.bzl", "tf_workspace0")

tf_workspace0()
# END: Upstream TensorFlow dependencies

load("@com_github_grpc_grpc//bazel:grpc_deps.bzl", "grpc_deps")
grpc_deps()

load("@upb//bazel:repository_defs.bzl", "bazel_version_repository")
bazel_version_repository(name = "bazel_version")
