aboutsummaryrefslogtreecommitdiffhomepage
path: root/tensorflow/contrib/bigtable/BUILD
diff options
context:
space:
mode:
Diffstat (limited to 'tensorflow/contrib/bigtable/BUILD')
-rw-r--r--tensorflow/contrib/bigtable/BUILD213
1 files changed, 213 insertions, 0 deletions
diff --git a/tensorflow/contrib/bigtable/BUILD b/tensorflow/contrib/bigtable/BUILD
new file mode 100644
index 0000000000..71538e0770
--- /dev/null
+++ b/tensorflow/contrib/bigtable/BUILD
@@ -0,0 +1,213 @@
+# Cloud Bigtable client for TensorFlow
+
+package(
+ default_visibility = ["//tensorflow:internal"],
+)
+
+licenses(["notice"]) # Apache 2.0
+
+load("//tensorflow:tensorflow.bzl", "tf_custom_op_py_library")
+load(
+ "//tensorflow:tensorflow.bzl",
+ "tf_copts",
+ "tf_custom_op_library",
+ "tf_gen_op_libs",
+ "tf_gen_op_wrapper_py",
+ "tf_kernel_library",
+ "tf_cc_test",
+ "tf_py_test",
+)
+
+tf_custom_op_py_library(
+ name = "bigtable",
+ srcs = ["__init__.py"] + glob(["python/ops/*.py"]),
+ dso = [
+ ":python/ops/_bigtable.so",
+ ],
+ kernels = [
+ ":bigtable_kernels",
+ ":bigtable_ops_op_lib",
+ ],
+ srcs_version = "PY2AND3",
+ deps = [
+ ":bigtable_ops",
+ "//tensorflow/contrib/data/python/ops:interleave_ops",
+ "//tensorflow/contrib/util:util_py",
+ "//tensorflow/python:framework_for_generated_wrappers",
+ "//tensorflow/python:platform",
+ "//tensorflow/python:util",
+ "//tensorflow/python/data",
+ ],
+)
+
+KERNEL_FILES = [
+ "kernels/bigtable_kernels.cc",
+ "kernels/bigtable_lookup_dataset_op.cc",
+ "kernels/bigtable_prefix_key_dataset_op.cc",
+ "kernels/bigtable_range_key_dataset_op.cc",
+ "kernels/bigtable_sample_keys_dataset_op.cc",
+ "kernels/bigtable_sample_key_pairs_dataset_op.cc",
+ "kernels/bigtable_scan_dataset_op.cc",
+]
+
+tf_custom_op_library(
+ name = "python/ops/_bigtable.so",
+ srcs = KERNEL_FILES + [
+ "ops/bigtable_ops.cc",
+ ],
+ deps = [
+ ":bigtable_lib_cc",
+ ":bigtable_range_helpers",
+ "@com_github_googlecloudplatform_google_cloud_cpp//google/cloud/bigtable:bigtable_client",
+ ],
+)
+
+tf_gen_op_wrapper_py(
+ name = "bigtable_ops",
+ deps = [":bigtable_ops_op_lib"],
+)
+
+tf_gen_op_libs(
+ op_lib_names = [
+ "bigtable_ops",
+ "bigtable_test_ops",
+ ],
+)
+
+tf_kernel_library(
+ name = "bigtable_kernels",
+ srcs = KERNEL_FILES,
+ deps = [
+ ":bigtable_lib_cc",
+ ":bigtable_range_helpers",
+ "//tensorflow/core:framework_headers_lib",
+ "//third_party/eigen3",
+ "@com_github_googlecloudplatform_google_cloud_cpp//google/cloud/bigtable:bigtable_client",
+ ],
+)
+
+# A library for use in the bigtable kernels.
+cc_library(
+ name = "bigtable_lib_cc",
+ srcs = ["kernels/bigtable_lib.cc"],
+ hdrs = ["kernels/bigtable_lib.h"],
+ deps = [
+ "//tensorflow/core:framework_headers_lib",
+ "//third_party/eigen3",
+ "@com_github_googlecloudplatform_google_cloud_cpp//google/cloud/bigtable:bigtable_client",
+ ],
+)
+
+cc_library(
+ name = "bigtable_range_helpers",
+ srcs = ["kernels/bigtable_range_helpers.cc"],
+ hdrs = ["kernels/bigtable_range_helpers.h"],
+ deps = [
+ "//tensorflow/core:framework_headers_lib",
+ ],
+)
+
+cc_library(
+ name = "bigtable_test_client",
+ srcs = ["kernels/test_kernels/bigtable_test_client.cc"],
+ hdrs = ["kernels/test_kernels/bigtable_test_client.h"],
+ deps = [
+ "//tensorflow/core:framework_headers_lib",
+ "@com_github_googleapis_googleapis//:bigtable_protos",
+ "@com_github_googlecloudplatform_google_cloud_cpp//google/cloud/bigtable:bigtable_client",
+ "@com_googlesource_code_re2//:re2",
+ ],
+)
+
+tf_cc_test(
+ name = "bigtable_test_client_test",
+ srcs = ["kernels/test_kernels/bigtable_test_client_test.cc"],
+ tags = ["manual"],
+ deps = [
+ ":bigtable_test_client",
+ "//tensorflow/core:test",
+ "//tensorflow/core:test_main",
+ "@com_github_googlecloudplatform_google_cloud_cpp//google/cloud/bigtable:bigtable_client",
+ ],
+)
+
+tf_cc_test(
+ name = "bigtable_range_helpers_test",
+ size = "small",
+ srcs = ["kernels/bigtable_range_helpers_test.cc"],
+ deps = [
+ ":bigtable_range_helpers",
+ "//tensorflow/core:test",
+ "//tensorflow/core:test_main",
+ ],
+)
+
+tf_gen_op_wrapper_py(
+ name = "bigtable_test_ops",
+ deps = [":bigtable_test_ops_op_lib"],
+)
+
+tf_custom_op_library(
+ name = "python/kernel_tests/_bigtable_test.so",
+ srcs = [
+ "kernels/test_kernels/bigtable_test_client_op.cc",
+ "ops/bigtable_test_ops.cc",
+ ],
+ deps = [
+ ":bigtable_lib_cc",
+ ":bigtable_test_client",
+ "@com_googlesource_code_re2//:re2",
+ ],
+)
+
+# Don't use tf_kernel_library because it prevents access to strings/stringprintf.h
+cc_library(
+ name = "bigtable_test_kernels",
+ srcs = [
+ "kernels/test_kernels/bigtable_test_client_op.cc",
+ ],
+ copts = tf_copts(),
+ linkstatic = 1,
+ deps = [
+ ":bigtable_lib_cc",
+ ":bigtable_test_client",
+ "//tensorflow/core:framework_headers_lib",
+ "//third_party/eigen3",
+ "@com_googlesource_code_re2//:re2",
+ ],
+ alwayslink = 1,
+)
+
+tf_custom_op_py_library(
+ name = "bigtable_test_py",
+ dso = [
+ ":python/kernel_tests/_bigtable_test.so",
+ ],
+ kernels = [
+ ":bigtable_test_kernels",
+ ":bigtable_test_ops_op_lib",
+ ],
+ srcs_version = "PY2AND3",
+ deps = [
+ ":bigtable_test_ops",
+ ],
+)
+
+tf_py_test(
+ name = "bigtable_ops_test",
+ size = "small",
+ srcs = ["python/kernel_tests/bigtable_ops_test.py"],
+ additional_deps = [
+ ":bigtable",
+ ":bigtable_test_py",
+ "//tensorflow/core:protos_all_py",
+ "//tensorflow/contrib/util:util_py",
+ "//tensorflow/python:array_ops",
+ "//tensorflow/python:client_testlib",
+ "//tensorflow/python:dtypes",
+ "//tensorflow/python:framework_for_generated_wrappers",
+ "//tensorflow/python:platform",
+ "//tensorflow/python:util",
+ ],
+ tags = ["manual"],
+)