[BUILD] Create a separate BUILD file for "tensorflow/core/protobuf"`.

This change leaves all existing targets in "tensorflow/core/BUILD" in place, with some becoming aliases. In future, we will remove aliases and point to the new locations.

PiperOrigin-RevId: 311194740
Change-Id: Id413277651b260641c1c2e06cb54d16629e6e662
This commit is contained in:
A. Unique TensorFlower 2020-05-12 13:47:34 -07:00 committed by TensorFlower Gardener
parent 117c75d311
commit fd895bf2b9
10 changed files with 282 additions and 147 deletions

View File

@ -686,7 +686,7 @@ cc_library(
"//tensorflow/compiler/xla:util",
"//tensorflow/compiler/xla/service:hlo",
"//tensorflow/compiler/xla/service:hlo_pass",
"//tensorflow/core:autotuning_proto_cc",
"//tensorflow/core/protobuf:autotuning_proto_cc",
"//tensorflow/core:lib",
"//tensorflow/core:stream_executor_no_cuda",
"//tensorflow/core/util/proto:proto_utils",
@ -722,7 +722,7 @@ cc_library(
"//tensorflow/compiler/xla/service:hlo",
"//tensorflow/compiler/xla/service:hlo_casting_utils",
"//tensorflow/compiler/xla/service:hlo_pass",
"//tensorflow/core:autotuning_proto_cc",
"//tensorflow/core/protobuf:autotuning_proto_cc",
"//tensorflow/core:lib",
"//tensorflow/core:lib_internal",
"//tensorflow/core:stream_executor_no_cuda",
@ -1676,7 +1676,7 @@ tf_proto_library_cc(
protodeps = [
"//tensorflow/compiler/xla:xla_data_proto",
"//tensorflow/compiler/xla/service:hlo_proto",
"//tensorflow/core:autotuning_proto",
"//tensorflow/core/protobuf:autotuning_proto",
],
)
@ -1687,8 +1687,8 @@ cc_library(
deps = [
":gpu_autotuning_proto_cc",
"//tensorflow/compiler/xla:debug_options_flags",
"//tensorflow/core:autotuning_proto_cc",
"//tensorflow/core:stream_executor_no_cuda",
"//tensorflow/core/protobuf:autotuning_proto_cc",
"@com_google_absl//absl/container:flat_hash_map",
],
)

View File

@ -105,7 +105,6 @@ load("//tensorflow:tensorflow.bzl", "tf_monitoring_deps")
# For platform specific build config
load(
"//tensorflow/core/platform:build_config.bzl",
"tf_additional_all_protos",
"tf_additional_lib_deps",
"tf_additional_test_deps",
"tf_jspb_proto_library",
@ -114,11 +113,9 @@ load(
"tf_portable_deps_no_runtime",
"tf_portable_proto_lib",
"tf_proto_library",
"tf_proto_library_cc",
"tf_protos_all_impl",
"tf_protos_grappler_impl",
"tf_protos_profiler_impl",
"tf_pyclif_proto_library",
)
load(
"//tensorflow/core/platform:rules_cc.bzl",
@ -181,18 +178,18 @@ package_group(name = "friends")
# filegroup; e.g. ones with individual proto_library targets.
# LINT.IfChange
COMMON_PROTO_SRCS = [
"protobuf/bfc_memory_map.proto",
"protobuf/config.proto",
"protobuf/cluster.proto",
"protobuf/debug.proto",
"protobuf/device_filters.proto",
"protobuf/device_properties.proto",
"protobuf/graph_debug_info.proto",
"protobuf/queue_runner.proto",
"protobuf/rewriter_config.proto",
"protobuf/tensor_bundle.proto",
"protobuf/saver.proto",
"protobuf/verifier_config.proto",
"//tensorflow/core/protobuf:bfc_memory_map.proto",
"//tensorflow/core/protobuf:config.proto",
"//tensorflow/core/protobuf:cluster.proto",
"//tensorflow/core/protobuf:debug.proto",
"//tensorflow/core/protobuf:device_filters.proto",
"//tensorflow/core/protobuf:device_properties.proto",
"//tensorflow/core/protobuf:graph_debug_info.proto",
"//tensorflow/core/protobuf:queue_runner.proto",
"//tensorflow/core/protobuf:rewriter_config.proto",
"//tensorflow/core/protobuf:tensor_bundle.proto",
"//tensorflow/core/protobuf:saver.proto",
"//tensorflow/core/protobuf:verifier_config.proto",
]
EXAMPLE_PROTO_SRCS = [
@ -239,7 +236,7 @@ PROFILER_PROTO_SRCS = [
]
ERROR_CODES_PROTO_SRCS = [
"protobuf/error_codes.proto",
"//tensorflow/core/protobuf:error_codes.proto",
"//tensorflow/core/lib/core:error_codes.proto",
]
# LINT.ThenChange(//tensorflow/core/portable_proto_config.asciipb)
@ -252,11 +249,13 @@ tf_proto_library(
cc_api_version = 2,
make_default_target_header_only = True,
protodeps = [
":core_protos",
":error_codes_proto_impl",
"//tensorflow/core/example:protos_all",
"//tensorflow/core/framework:protos_all",
"//tensorflow/core/lib/core:error_codes_proto",
"//tensorflow/core/profiler/protobuf:xplane_proto",
"//tensorflow/core/profiler:profiler_options_proto",
"//tensorflow/core/protobuf:error_codes_proto_impl",
"//tensorflow/core/protobuf:for_core_protos",
"//tensorflow/core/util:protos_all",
"//tensorflow/core/util:test_log_proto_impl",
],
@ -1603,20 +1602,13 @@ alias(
[
alias(
name = "protobuf_%s_pyclif%s" % (proto_name, target_suffix),
actual = ":protobuf/%s_pyclif%s" % (proto_name, target_suffix),
actual = "//tensorflow/core/protobuf:%s_pyclif%s" % (proto_name, target_suffix),
visibility = ["//visibility:public"],
)
for target_suffix in [
"",
"_pb2",
]
] + [
tf_pyclif_proto_library(
name = "protobuf/%s_pyclif" % proto_name,
proto_lib = ":protos_all",
proto_srcfile = "protobuf/%s.proto" % proto_name,
visibility = ["//visibility:public"],
),
]
for proto_name in [
"config",
@ -1630,77 +1622,74 @@ alias(
# -----------------------------------------------------------------------------
# Internal targets
tf_proto_library(
alias(
name = "autotuning_proto",
srcs = ["protobuf/autotuning.proto"],
cc_api_version = 2,
make_default_target_header_only = True,
actual = "//tensorflow/core/protobuf:autotuning_proto",
visibility = [
"//tensorflow:internal",
],
)
tf_proto_library(
alias(
name = "autotuning_proto_cc",
actual = "//tensorflow/core/protobuf:autotuning_proto_cc",
visibility = [
"//tensorflow:internal",
],
)
alias(
name = "conv_autotuning_proto",
srcs = ["protobuf/conv_autotuning.proto"],
cc_api_version = 2,
make_default_target_header_only = True,
protodeps = [
"//tensorflow/stream_executor:dnn_proto",
],
actual = "//tensorflow/core/protobuf:conv_autotuning_proto",
visibility = [
"//tensorflow:internal",
],
)
tf_proto_library_cc(
name = "worker_proto",
srcs = ["protobuf/worker.proto"],
cc_api_version = 2,
protodeps = tf_additional_all_protos(),
visibility = ["//visibility:public"],
)
tf_proto_library_cc(
name = "worker_service_proto",
srcs = ["protobuf/worker_service.proto"],
has_services = 1,
cc_api_version = 2,
cc_stubby_versions = ["2"],
protodeps = [":worker_proto"],
alias(
name = "conv_autotuning_proto_cc",
actual = "//tensorflow/core/protobuf:conv_autotuning_proto_cc",
visibility = [
"//tensorflow:internal",
],
)
tf_proto_library_cc(
name = "master_proto",
srcs = ["protobuf/master.proto"],
cc_api_version = 2,
protodeps = tf_additional_all_protos(),
visibility = ["//tensorflow:internal"],
)
tf_proto_library_cc(
name = "master_service_proto",
srcs = ["protobuf/master_service.proto"],
has_services = 1,
cc_api_version = 2,
cc_stubby_versions = ["2"],
protodeps = [":master_proto"],
alias(
name = "worker_proto_cc",
actual = "//tensorflow/core/protobuf:worker_proto_cc",
visibility = [
"//tensorflow:internal",
],
)
tf_proto_library_cc(
name = "eager_service_proto",
srcs = ["protobuf/eager_service.proto"],
has_services = 1,
cc_api_version = 2,
cc_grpc_version = 1,
cc_stubby_versions = ["2"],
protodeps = tf_additional_all_protos(),
alias(
name = "worker_service_proto_cc",
actual = "//tensorflow/core/protobuf:worker_service_proto_cc",
visibility = [
"//tensorflow:internal",
],
)
alias(
name = "master_proto_cc",
actual = "//tensorflow/core/protobuf:master_proto_cc",
visibility = [
"//learning/brain/frameworks/uptc:__subpackages__",
"//tensorflow:internal",
],
)
alias(
name = "master_service_proto_cc",
actual = "//tensorflow/core/protobuf:master_service_proto_cc",
visibility = [
"//tensorflow:internal",
],
)
alias(
name = "eager_service_proto_cc",
actual = "//tensorflow/core/protobuf:eager_service_proto_cc",
visibility = [
"//tensorflow:internal",
],
@ -2112,49 +2101,14 @@ cc_library(
],
)
tf_proto_library(
alias(
name = "error_codes_proto_impl",
srcs = ["protobuf/error_codes.proto"],
cc_api_version = 2,
make_default_target_header_only = True,
actual = "//tensorflow/core/protobuf:error_codes_proto_impl",
)
tf_proto_library(
name = "core_protos",
srcs = COMMON_PROTO_SRCS + [
# Protos which are not needed on mobile builds, but should be included
# in protos_all.
#
# Note that some protos are in neither core_proto_srcs nor this
# filegroup; e.g. ones with individual proto_library targets.
"protobuf/control_flow.proto",
# TODO(ebrevdo): Re-enable once CriticalSection is in core.
# "protobuf/critical_section.proto",
"protobuf/data/experimental/snapshot.proto",
"protobuf/debug_event.proto",
"protobuf/meta_graph.proto",
"protobuf/named_tensor.proto",
"protobuf/remote_tensor_handle.proto",
"protobuf/saved_model.proto",
"protobuf/saved_object_graph.proto",
"protobuf/struct.proto",
"protobuf/tensorflow_server.proto",
"protobuf/trackable_object_graph.proto",
"protobuf/transport_options.proto",
],
cc_api_version = 2,
make_default_target_header_only = True,
protodeps = [
":error_codes_proto_impl",
"//tensorflow/core/example:protos_all",
"//tensorflow/core/framework:protos_all",
"//tensorflow/core/lib/core:error_codes_proto",
"//tensorflow/core/profiler/protobuf:xplane_proto",
"//tensorflow/core/profiler:profiler_options_proto",
"//tensorflow/core/util:protos_all",
"//tensorflow/core/util:test_log_proto_impl",
],
visibility = ["//visibility:private"],
alias(
name = "error_codes_proto_impl_cc",
actual = "//tensorflow/core/protobuf:error_codes_proto_impl_cc",
)
alias(
@ -2446,13 +2400,9 @@ alias(
visibility = ["//visibility:public"],
)
tf_proto_library_cc(
name = "replay_log_proto",
srcs = ["protobuf/replay_log.proto"],
cc_api_version = 2,
protodeps = [
":master_proto",
] + tf_additional_all_protos(),
alias(
name = "replay_log_proto_cc",
actual = "//tensorflow/core/protobuf:replay_log_proto_cc",
visibility = [
"//tensorflow:internal",
],

View File

@ -138,10 +138,13 @@ tf_proto_library(
cc_api_version = 2,
make_default_target_header_only = True,
protodeps = [
"//tensorflow/core:error_codes_proto_impl",
"//tensorflow/core/protobuf:error_codes_proto_impl",
],
visibility = ["//tensorflow/core:__subpackages__"],
exports = ["//tensorflow/core:error_codes_proto_impl"],
visibility = [
"//tensorflow/core:__subpackages__",
"//tensorflow/core/protobuf:__subpackages__",
],
exports = ["//tensorflow/core/protobuf:error_codes_proto_impl"],
)
# Export source files needed for mobile builds, which do not use granular targets.

View File

@ -621,7 +621,7 @@ cc_library(
":stringpiece",
":stringprintf",
":types",
"//tensorflow/core:error_codes_proto_impl_cc",
"//tensorflow/core/protobuf:error_codes_proto_impl_cc",
"@com_google_absl//absl/base",
],
)

View File

@ -577,8 +577,8 @@ def tf_additional_all_protos():
def tf_protos_all_impl():
return [
clean_dep("//tensorflow/core:autotuning_proto_cc_impl"),
clean_dep("//tensorflow/core:conv_autotuning_proto_cc_impl"),
clean_dep("//tensorflow/core/protobuf:autotuning_proto_cc_impl"),
clean_dep("//tensorflow/core/protobuf:conv_autotuning_proto_cc_impl"),
clean_dep("//tensorflow/core:protos_all_cc_impl"),
]

View File

@ -0,0 +1,182 @@
# For platform specific build config
load(
"//tensorflow/core/platform:build_config.bzl",
"tf_additional_all_protos",
"tf_proto_library",
"tf_proto_library_cc",
"tf_pyclif_proto_library",
)
package(
default_visibility = [
"//tensorflow:internal",
"//tensorflow/core:__subpackages__",
"//tensorflow_models:__subpackages__",
],
licenses = ["notice"], # Apache 2.0
)
COMMON_PROTO_SRCS = [
"bfc_memory_map.proto",
"config.proto",
"cluster.proto",
"debug.proto",
"device_filters.proto",
"device_properties.proto",
"graph_debug_info.proto",
"queue_runner.proto",
"rewriter_config.proto",
"tensor_bundle.proto",
"saver.proto",
"verifier_config.proto",
]
[
[
tf_pyclif_proto_library(
name = "%s_pyclif" % proto_name,
proto_lib = ":for_core_protos",
proto_srcfile = "%s.proto" % proto_name,
visibility = ["//visibility:public"],
),
]
for proto_name in [
"config",
"device_properties",
"graph_debug_info",
"meta_graph",
"saved_model",
]
]
tf_proto_library(
name = "autotuning_proto",
srcs = ["autotuning.proto"],
cc_api_version = 2,
make_default_target_header_only = True,
)
tf_proto_library(
name = "conv_autotuning_proto",
srcs = ["conv_autotuning.proto"],
cc_api_version = 2,
make_default_target_header_only = True,
protodeps = [
"//tensorflow/stream_executor:dnn_proto",
],
)
tf_proto_library_cc(
name = "worker_proto",
srcs = ["worker.proto"],
cc_api_version = 2,
protodeps = tf_additional_all_protos(),
visibility = ["//visibility:public"],
)
tf_proto_library_cc(
name = "worker_service_proto",
srcs = ["worker_service.proto"],
has_services = 1,
cc_api_version = 2,
cc_stubby_versions = ["2"],
protodeps = [":worker_proto"],
)
tf_proto_library_cc(
name = "master_proto",
srcs = ["master.proto"],
cc_api_version = 2,
protodeps = tf_additional_all_protos(),
visibility = ["//tensorflow:internal"],
)
tf_proto_library_cc(
name = "master_service_proto",
srcs = ["master_service.proto"],
has_services = 1,
cc_api_version = 2,
cc_stubby_versions = ["2"],
protodeps = [":master_proto"],
)
tf_proto_library_cc(
name = "eager_service_proto",
srcs = ["eager_service.proto"],
has_services = 1,
cc_api_version = 2,
cc_grpc_version = 1,
cc_stubby_versions = ["2"],
protodeps = tf_additional_all_protos(),
)
tf_proto_library_cc(
name = "replay_log_proto",
srcs = ["replay_log.proto"],
cc_api_version = 2,
protodeps = [
":master_proto",
] + tf_additional_all_protos(),
)
tf_proto_library(
name = "error_codes_proto_impl",
srcs = ["error_codes.proto"],
cc_api_version = 2,
make_default_target_header_only = True,
)
exports_files(
srcs = ["error_codes.proto"] + COMMON_PROTO_SRCS + [
# Protos which are not needed on mobile builds, but should be included
# in protos_all.
#
# Note that some protos are in neither core_proto_srcs nor this
# filegroup; e.g. ones with individual proto_library targets.
"control_flow.proto",
# TODO(ebrevdo): Re-enable once CriticalSection is in core.
# "critical_section.proto",
"data/experimental/snapshot.proto",
"debug_event.proto",
"meta_graph.proto",
"named_tensor.proto",
"remote_tensor_handle.proto",
"saved_model.proto",
"saved_object_graph.proto",
"struct.proto",
"tensorflow_server.proto",
"trackable_object_graph.proto",
"transport_options.proto",
],
)
tf_proto_library(
name = "for_core_protos",
srcs = COMMON_PROTO_SRCS + [
# Protos which are not needed on mobile builds, but should be included
# in protos_all.
#
# Note that some protos are in neither core_proto_srcs nor this
# filegroup; e.g. ones with individual proto_library targets.
"control_flow.proto",
# TODO(ebrevdo): Re-enable once CriticalSection is in core.
# "critical_section.proto",
"data/experimental/snapshot.proto",
"debug_event.proto",
"meta_graph.proto",
"named_tensor.proto",
"remote_tensor_handle.proto",
"saved_model.proto",
"saved_object_graph.proto",
"struct.proto",
"tensorflow_server.proto",
"trackable_object_graph.proto",
"transport_options.proto",
],
cc_api_version = 2,
make_default_target_header_only = True,
protodeps = [
":error_codes_proto_impl",
"//tensorflow/core/framework:protos_all",
],
)

View File

@ -22,7 +22,7 @@ import (
"unsafe"
"github.com/golang/protobuf/proto"
corepb "github.com/tensorflow/tensorflow/tensorflow/go/core/core_protos_go_proto"
corepb "github.com/tensorflow/tensorflow/tensorflow/go/core/protobuf/for_core_protos_go_proto"
)
// #include <stdlib.h>

View File

@ -16,7 +16,7 @@ limitations under the License.
package tensorflow
import corepb "github.com/tensorflow/tensorflow/tensorflow/go/core/core_protos_go_proto"
import corepb "github.com/tensorflow/tensorflow/tensorflow/go/core/protobuf/for_core_protos_go_proto"
// #include "tensorflow/c/c_api.h"
import "C"

View File

@ -20,9 +20,9 @@ import (
"fmt"
"testing"
corepb "github.com/tensorflow/tensorflow/tensorflow/go/core/core_protos_go_proto"
tspb "github.com/tensorflow/tensorflow/tensorflow/go/core/framework/tensor_shape_go_proto"
typb "github.com/tensorflow/tensorflow/tensorflow/go/core/framework/types_go_proto"
corepb "github.com/tensorflow/tensorflow/tensorflow/go/core/protobuf/for_core_protos_go_proto"
)
func TestSignatureFromProto(t *testing.T) {

View File

@ -655,15 +655,15 @@ tf_python_pybind_extension(
"@com_google_absl//absl/types:optional",
] + if_static(
extra_deps = [
"//tensorflow/core:eager_service_proto_cc",
"//tensorflow/core:master_proto_cc",
"//tensorflow/core:worker_proto_cc",
"//tensorflow/core/protobuf:eager_service_proto_cc",
"//tensorflow/core/protobuf:master_proto_cc",
"//tensorflow/core/protobuf:worker_proto_cc",
"//tensorflow/core:version_lib",
],
otherwise = [
"//tensorflow/core:eager_service_proto_cc_headers_only",
"//tensorflow/core:master_proto_cc_headers_only",
"//tensorflow/core:worker_proto_cc_headers_only",
"//tensorflow/core/protobuf:eager_service_proto_cc_headers_only",
"//tensorflow/core/protobuf:master_proto_cc_headers_only",
"//tensorflow/core/protobuf:worker_proto_cc_headers_only",
],
),
)
@ -8049,14 +8049,14 @@ tf_python_pybind_extension(
"//tensorflow/core/platform",
] + if_static(
extra_deps = [
"//tensorflow/core:eager_service_proto_cc",
"//tensorflow/core:master_proto_cc",
"//tensorflow/core:worker_proto_cc",
"//tensorflow/core/protobuf:eager_service_proto_cc",
"//tensorflow/core/protobuf:master_proto_cc",
"//tensorflow/core/protobuf:worker_proto_cc",
],
otherwise = [
"//tensorflow/core:eager_service_proto_cc_headers_only",
"//tensorflow/core:master_proto_cc_headers_only",
"//tensorflow/core:worker_proto_cc_headers_only",
"//tensorflow/core/protobuf:eager_service_proto_cc_headers_only",
"//tensorflow/core/protobuf:master_proto_cc_headers_only",
"//tensorflow/core/protobuf:worker_proto_cc_headers_only",
],
),
)