Skip to content

Commit

Permalink
Fix deps on tensorflow proto targets.
Browse files Browse the repository at this point in the history
TensorFlow uses a non-standard protobuf build rule that requires special
renaming when relying on e.g. tensorflow/core:protos_all.

PiperOrigin-RevId: 299478812
  • Loading branch information
ebrevdo authored and tensorflow-copybara committed Mar 7, 2020
1 parent 9781ed1 commit 0b83b7e
Show file tree
Hide file tree
Showing 9 changed files with 124 additions and 10 deletions.
2 changes: 2 additions & 0 deletions .bazelrc
Expand Up @@ -46,3 +46,5 @@ build --host_cxxopt=-std=c++14
build --cxxopt=-D_GLIBCXX_USE_CXX11_ABI=0

build --workspace_status_command=/proc/self/cwd/tools/gen_status_stamp.sh

build --experimental_repo_remote_exec
7 changes: 4 additions & 3 deletions WORKSPACE
Expand Up @@ -10,8 +10,9 @@ workspace(name = "tf_serving")
load("//tensorflow_serving:repo.bzl", "tensorflow_http_archive")
tensorflow_http_archive(
name = "org_tensorflow",
sha256 = "abceedf2f627e83a5d4324d158e2f2b731f0b747f041407a28ff6ba1634dc583",
git_commit = "2a2c812ab2330c9aac33335f10679a346436acfb",
sha256 = "3513fd2e31a9297452a257e687b88a4c9b44b983880f67f8469b5c6a62bec1d2",
git_commit = "7cf58aa514b348b0b44610555dd8e3002c32e999",
patch = "//third_party/tf_patch:tf.patch"
)

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
Expand Down Expand Up @@ -63,4 +64,4 @@ tf_serving_workspace()

# Specify the minimum required bazel version.
load("@org_tensorflow//tensorflow:version_check.bzl", "check_bazel_version_at_least")
check_bazel_version_at_least("1.2.1")
check_bazel_version_at_least("2.0.0")
17 changes: 13 additions & 4 deletions tensorflow_serving/apis/BUILD
Expand Up @@ -3,6 +3,7 @@
load("//tensorflow_serving:serving.bzl", "serving_proto_library")
load("//tensorflow_serving:serving.bzl", "serving_proto_library_py")
load("//tensorflow_serving:serving.bzl", "serving_go_grpc_library")
load("//tensorflow_serving:serving.bzl", "serving_tensorflow_proto_dep")
load("@org_tensorflow//tensorflow/core/platform:build_config.bzl", "tf_jspb_proto_library", "tf_pyclif_proto_library")

package(
Expand Down Expand Up @@ -30,7 +31,9 @@ serving_proto_library(
deps = [
":model_proto",
"@com_google_protobuf//:cc_wkt_protos",
"@org_tensorflow//tensorflow/core:protos_all",
serving_tensorflow_proto_dep(
"@org_tensorflow//tensorflow/core:protos_all",
),
],
)

Expand All @@ -49,7 +52,9 @@ serving_proto_library(
srcs = ["input.proto"],
cc_api_version = 2,
deps = [
"@org_tensorflow//tensorflow/core:protos_all",
serving_tensorflow_proto_dep(
"@org_tensorflow//tensorflow/core:protos_all",
),
],
)

Expand Down Expand Up @@ -106,7 +111,9 @@ serving_proto_library(
cc_api_version = 2,
deps = [
":model_proto",
"@org_tensorflow//tensorflow/core:protos_all",
serving_tensorflow_proto_dep(
"@org_tensorflow//tensorflow/core:protos_all",
),
],
)

Expand Down Expand Up @@ -362,7 +369,9 @@ serving_proto_library(
cc_api_version = 2,
deps = [
":model_proto",
"@org_tensorflow//tensorflow/core:protos_all",
serving_tensorflow_proto_dep(
"@org_tensorflow//tensorflow/core:protos_all",
),
],
)

Expand Down
3 changes: 3 additions & 0 deletions tensorflow_serving/repo.bzl
Expand Up @@ -17,6 +17,7 @@ _TF_REVISION = "TF_REVISION"
def _tensorflow_http_archive(ctx):
git_commit = ctx.attr.git_commit
sha256 = ctx.attr.sha256
patch = ctx.attr.patch

override_git_commit = ctx.os.environ.get(_TF_REVISION)
if override_git_commit:
Expand All @@ -35,11 +36,13 @@ def _tensorflow_http_archive(ctx):
"",
strip_prefix,
)
ctx.patch(patch, strip = 1)

tensorflow_http_archive = repository_rule(
implementation = _tensorflow_http_archive,
attrs = {
"git_commit": attr.string(mandatory = True),
"sha256": attr.string(mandatory = True),
"patch": attr.label(mandatory = True),
},
)
5 changes: 4 additions & 1 deletion tensorflow_serving/servables/tensorflow/BUILD
Expand Up @@ -2,6 +2,7 @@

load("//tensorflow_serving:oss_or_google.bzl", "if_google")
load("//tensorflow_serving:serving.bzl", "serving_proto_library")
load("//tensorflow_serving:serving.bzl", "serving_tensorflow_proto_dep")

package(
default_visibility = [
Expand Down Expand Up @@ -32,7 +33,9 @@ serving_proto_library(
],
deps = [
"@com_google_protobuf//:cc_wkt_protos",
"@org_tensorflow//tensorflow/core:protos_all",
serving_tensorflow_proto_dep(
"@org_tensorflow//tensorflow/core:protos_all",
),
],
)

Expand Down
5 changes: 5 additions & 0 deletions tensorflow_serving/serving.bzl
Expand Up @@ -55,3 +55,8 @@ def serving_proto_library_py(name, proto_library, srcs = [], deps = [], visibili
visibility = visibility,
testonly = testonly,
)

def serving_tensorflow_proto_dep(dep):
"""Rename for deps onto tensorflow protos in serving_proto_library targets.
"""
return "{}_cc".format(dep)
6 changes: 4 additions & 2 deletions tensorflow_serving/util/BUILD
@@ -1,6 +1,6 @@
# Description: Tensorflow Serving utils.

load("//tensorflow_serving:serving.bzl", "serving_proto_library", "serving_proto_library_py")
load("//tensorflow_serving:serving.bzl", "serving_proto_library", "serving_proto_library_py", "serving_tensorflow_proto_dep")

package(
default_visibility = [
Expand Down Expand Up @@ -400,7 +400,9 @@ serving_proto_library(
cc_api_version = 2,
visibility = ["//visibility:public"],
deps = [
"@org_tensorflow//tensorflow/core:protos_all",
serving_tensorflow_proto_dep(
"@org_tensorflow//tensorflow/core:protos_all",
),
],
)

Expand Down
1 change: 1 addition & 0 deletions third_party/tf_patch/BUILD
@@ -0,0 +1 @@
# Empty BUILD so this is treated like a package.
88 changes: 88 additions & 0 deletions third_party/tf_patch/tf.patch
@@ -0,0 +1,88 @@
diff -r -u old/tensorflow/c/BUILD new/tensorflow/c/BUILD
--- old/tensorflow/c/BUILD 2020-02-06 13:20:27.000000000 -0800
+++ new/tensorflow/c/BUILD 2020-03-06 16:02:29.239566981 -0800
@@ -694,4 +694,5 @@
# TODO(b/74620627): remove when _USE_C_SHAPES is removed
"//tensorflow/python:cpp_shape_inference_proto_cc",
],
+ alwayslink = 1,
)
diff -r -u old/tensorflow/core/grappler/clusters/BUILD new/tensorflow/core/grappler/clusters/BUILD
--- old/tensorflow/core/grappler/clusters/BUILD 2020-02-06 13:20:27.000000000 -0800
+++ new/tensorflow/core/grappler/clusters/BUILD 2020-03-06 16:47:11.057163837 -0800
@@ -138,6 +138,7 @@
"//tensorflow/core/grappler:utils",
"//tensorflow/core/kernels:ops_util",
],
+ alwayslink = 1,
)

tf_cc_test(
diff -r -u old/tensorflow/core/grappler/costs/BUILD new/tensorflow/core/grappler/costs/BUILD
--- old/tensorflow/core/grappler/costs/BUILD 2020-02-06 13:20:27.000000000 -0800
+++ new/tensorflow/core/grappler/costs/BUILD 2020-03-06 16:45:14.316942148 -0800
@@ -303,6 +303,7 @@
"//tensorflow/core/grappler/costs:cost_estimator",
"//tensorflow/core/kernels:ops_util",
],
+ alwayslink = 1,
)

cc_library(
@@ -319,6 +320,7 @@
"//tensorflow/core:protos_all_cc",
"//tensorflow/core/grappler/clusters:utils",
] + tf_protos_grappler(),
+ alwayslink = 1,
)

tf_cc_test(
@@ -353,6 +355,7 @@
"//tensorflow/core/grappler:op_types",
"//tensorflow/core/grappler:utils",
] + tf_protos_grappler(),
+ alwayslink = 1,
)

tf_cc_test(
diff -r -u old/tensorflow/core/platform/BUILD new/tensorflow/core/platform/BUILD
--- old/tensorflow/core/platform/BUILD 2020-02-06 13:20:27.000000000 -0800
+++ new/tensorflow/core/platform/BUILD 2020-03-06 16:00:30.423279302 -0800
@@ -578,6 +578,7 @@
name = "stacktrace_handler",
textual_hdrs = ["stacktrace_handler.h"],
deps = tf_windows_aware_platform_deps("stacktrace_handler"),
+ alwayslink = 1,
)

cc_library(
diff -r -u old/tensorflow/core/platform/default/BUILD new/tensorflow/core/platform/default/BUILD
--- old/tensorflow/core/platform/default/BUILD 2020-02-06 13:20:27.000000000 -0800
+++ new/tensorflow/core/platform/default/BUILD 2020-03-06 16:00:44.203312903 -0800
@@ -350,6 +350,7 @@
"//tensorflow/core/platform",
"//tensorflow/core/platform:stacktrace",
],
+ alwayslink = 1,
)

cc_library(
diff -r -u old/tensorflow/python/BUILD new/tensorflow/python/BUILD
--- old/tensorflow/python/BUILD 2020-02-06 13:20:27.000000000 -0800
+++ new/tensorflow/python/BUILD 2020-03-06 16:43:09.652704387 -0800
@@ -496,6 +496,7 @@
"//tensorflow/core:protos_all_cc",
"//third_party/python_runtime:headers",
],
+ alwayslink = 1,
)

cc_library(
@@ -5650,6 +5651,7 @@
"//third_party/py/numpy:headers",
"//third_party/python_runtime:headers",
],
+ alwayslink = 1,
)

py_library(

0 comments on commit 0b83b7e

Please sign in to comment.