Skip to content

Commit 27bb99c

Browse files
authored
Sync main (#56)
Porting back the 0.48.1 changes that are reverted by Internal Tool
1 parent f433601 commit 27bb99c

18 files changed

Lines changed: 1063 additions & 111 deletions

File tree

RELEASE.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,33 @@
1010

1111
## Deprecations
1212

13+
# Version 0.48.1
14+
15+
## Major Features and Improvements
16+
17+
* N/A
18+
19+
## Bug Fixes and Other Changes
20+
21+
* Add py_proto_library macro for OSS compatibility
22+
* Replace gunit_main with googletest gtest_main
23+
* Fix proto import to use workspace-relative path
24+
* Explicitly builds each dynamic library target that creates .so files
25+
* Update proto library generation to depend on generated
26+
cc_proto_library targets
27+
* Implement custom _tsl_py_proto_library_rule to replace the
28+
built-in py_proto_library removed in Protobuf 4.x
29+
* Refactor cc_proto_library to use native proto_library and
30+
cc_proto_library rules instead of custom proto_gen
31+
32+
## Breaking Changes
33+
34+
* N/A
35+
36+
## Deprecations
37+
38+
* N/A
39+
1340
## Version 0.48.0
1441

1542
## Major Features and Improvements

WORKSPACE

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@ tf_configure(name = "local_config_tf")
4141
# 3. Request the new archive to be mirrored on mirror.bazel.build for more
4242
# reliable downloads.
4343

44-
_TENSORFLOW_GIT_COMMIT = "5bc9d26649cca274750ad3625bd93422617eed4b" # tf 2.16.1
45-
_TENSORFLOW_ARCHIVE_SHA256 = "fe592915c85d1a89c20f3dd89db0772ee22a0fbda78e39aa46a778d638a96abc"
44+
_TENSORFLOW_GIT_COMMIT = "3c92ac03cab816044f7b18a86eb86aa01a294d95" # tf 2.17.1
45+
_TENSORFLOW_ARCHIVE_SHA256 = "317dd95c4830a408b14f3e802698eb68d70d81c7c7cfcd3d28b0ba023fe84a68"
4646

4747
http_archive(
4848
name = "org_tensorflow",
@@ -51,6 +51,8 @@ http_archive(
5151
"https://github.com/tensorflow/tensorflow/archive/%s.tar.gz" % _TENSORFLOW_GIT_COMMIT,
5252
],
5353
strip_prefix = "tensorflow-%s" % _TENSORFLOW_GIT_COMMIT,
54+
patches = ["//third_party:tensorflow.patch"],
55+
patch_args = ["-p1"],
5456
)
5557

5658
load("//third_party:python_configure.bzl", "local_python_configure")
@@ -62,6 +64,21 @@ local_python_configure(name = "local_execution_config_python")
6264
load("//struct2tensor:workspace.bzl", "struct2tensor_workspace")
6365
struct2tensor_workspace()
6466

67+
# ===== Protobuf 4.25.6 dependency =====
68+
# Must be declared BEFORE TensorFlow's workspaces to override the version they pull
69+
http_archive(
70+
name = "com_google_protobuf",
71+
sha256 = "4e6727bc5d23177edefa3ad86fd2f5a92cd324151636212fd1f7f13aef3fd2b7",
72+
strip_prefix = "protobuf-4.25.6",
73+
urls = [
74+
"https://github.com/protocolbuffers/protobuf/archive/v4.25.6.tar.gz",
75+
],
76+
)
77+
78+
# Load Protobuf dependencies
79+
load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps")
80+
protobuf_deps()
81+
6582
# Initialize TensorFlow's external dependencies.
6683
load("@org_tensorflow//tensorflow:workspace3.bzl", "tf_workspace3")
6784
tf_workspace3()

build_common.sh

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,21 @@ function install_tensorflow() {
6262
"${PYTHON_BIN_PATH}" -c 'import tensorflow as tf; print(tf.version.VERSION)'
6363
}
6464

65+
function build_dynamic_libraries() {
66+
# Explicitly build the dynamic library targets that are needed for the wheel.
67+
# These are required by the stamp_wheel function.
68+
bazel build //struct2tensor/ops:_decode_proto_map_op.so || exit 1;
69+
bazel build //struct2tensor/ops:_decode_proto_sparse_op.so || exit 1;
70+
bazel build //struct2tensor/ops:_run_length_before_op.so || exit 1;
71+
bazel build //struct2tensor/ops:_equi_join_any_indices_op.so || exit 1;
72+
bazel build //struct2tensor/ops:_equi_join_indices_op.so || exit 1;
73+
bazel build //struct2tensor/ops:_parquet_dataset_op.so || exit 1;
74+
75+
RUNFILES_DIR=$(pwd)
76+
cp -f bazel-bin/struct2tensor/ops/*.so ${RUNFILES_DIR}/struct2tensor/ops/
77+
78+
}
79+
6580
set -x
6681

6782
for i in "$@"; do
@@ -116,6 +131,8 @@ if [[ ("${TF_VERSION}" == "NIGHTLY_TF") || ("${TF_VERSION}" == "NIGHTLY_TF_2") ]
116131

117132
fi
118133

134+
build_dynamic_libraries
135+
119136
# :build_pip_package builds and links struct2tensor ops against a TF
120137
# installation and packages the result dynamic libraries.
121138
bazel run -c opt \

struct2tensor/BUILD

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ s2t_pytype_library(
8484
"path.py",
8585
],
8686
deps = [
87-
"@com_github_tensorflow_metadata//tensorflow_metadata/proto/v0:py_metadata_v0_proto_py",
87+
"@com_github_tensorflow_metadata//tensorflow_metadata/proto/v0:metadata_v0_proto_py_pb2",
8888
"@com_google_protobuf//:protobuf_python",
8989
],
9090
)

struct2tensor/benchmarks/BUILD

Lines changed: 27 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,7 @@
1313
# limitations under the License.
1414

1515
load("@rules_cc//cc:cc_test.bzl", "cc_test")
16-
17-
# Placeholder: load py_proto_library
18-
# Placeholder: load py_binary
19-
# Placeholder: load py_library
20-
# Placeholder: load py_test
21-
load("//third_party/protobuf/bazel:proto_library.bzl", "proto_library")
22-
load("//tools/build_defs/proto/cpp:cc_proto_library.bzl", "cc_proto_library")
16+
load("//struct2tensor:struct2tensor.bzl", "py_proto_library")
2317

2418
licenses(["notice"])
2519

@@ -35,26 +29,28 @@ py_proto_library(
3529
deps = [":benchmark_proto"],
3630
)
3731

32+
# Use native cc_proto_library instead of custom macro since we already have proto_library defined
3833
cc_proto_library(
3934
name = "benchmark_cc_proto",
4035
deps = [":benchmark_proto"],
4136
)
4237

43-
cc_test(
44-
name = "serialization_benchmark",
45-
srcs = ["serialization_benchmark.cc"],
46-
deps = [
47-
":benchmark_cc_proto",
48-
"//testing/base/public:gunit",
49-
"@com_google_absl//absl/flags:flag",
50-
"@com_google_absl//absl/flags:parse",
51-
"@com_google_absl//absl/random",
52-
"@com_google_absl//absl/random:distributions",
53-
"@com_google_protobuf//:protobuf",
54-
"@org_tensorflow//tensorflow/core:feature_util",
55-
"@org_tensorflow//tensorflow/core:protos_all_cc",
56-
],
57-
)
38+
# Google-internal benchmark - commented out for OSS
39+
# cc_test(
40+
# name = "serialization_benchmark",
41+
# srcs = ["serialization_benchmark.cc"],
42+
# deps = [
43+
# ":benchmark_cc_proto",
44+
# "//testing/base/public:gunit",
45+
# "@com_google_absl//absl/flags:flag",
46+
# "@com_google_absl//absl/flags:parse",
47+
# "@com_google_absl//absl/random",
48+
# "@com_google_absl//absl/random:distributions",
49+
# "@com_google_protobuf//:protobuf",
50+
# "@org_tensorflow//tensorflow/core:feature_util",
51+
# "@org_tensorflow//tensorflow/core:protos_all_cc",
52+
# ],
53+
# )
5854

5955
py_library(
6056
name = "struct2tensor_benchmark_lib",
@@ -63,10 +59,11 @@ py_library(
6359
":benchmark_proto_py_pb2",
6460
":struct2tensor_benchmark_util",
6561
"//struct2tensor",
66-
"//testing/pybase",
67-
"//testing/pybase:parameterized",
68-
"//third_party/py/cpuinfo",
69-
"//third_party/py/psutil",
62+
# Google-internal dependencies - not available in OSS
63+
# "//testing/pybase",
64+
# "//testing/pybase:parameterized",
65+
# "//third_party/py/cpuinfo",
66+
# "//third_party/py/psutil",
7067
],
7168
)
7269

@@ -112,9 +109,10 @@ py_library(
112109
name = "struct2tensor_benchmark_util",
113110
srcs = ["struct2tensor_benchmark_util.py"],
114111
deps = [
115-
"//file/colossus/public:cns",
116-
"//third_party/py/cpuinfo",
117-
"//third_party/py/psutil",
112+
# Google-internal dependencies - not available in OSS
113+
# "//file/colossus/public:cns",
114+
# "//third_party/py/cpuinfo",
115+
# "//third_party/py/psutil",
118116
"@absl_py//absl/flags",
119117
"@absl_py//absl/testing:parameterized",
120118
],

struct2tensor/kernels/parquet/BUILD

Lines changed: 36 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -99,38 +99,40 @@ cc_library(
9999
],
100100
)
101101

102-
cc_test(
103-
name = "parent_indices_builder_test",
104-
srcs = ["parent_indices_builder_test.cc"],
105-
deps = [
106-
":parent_indices_builder_lib",
107-
"//testing/base/public:gunit_main",
108-
"@org_tensorflow//tensorflow/core:lib",
109-
"@org_tensorflow//tensorflow/core:test",
110-
],
111-
)
102+
# Test file parent_indices_builder_test.cc does not exist, commenting out
103+
# cc_test(
104+
# name = "parent_indices_builder_test",
105+
# srcs = ["parent_indices_builder_test.cc"],
106+
# deps = [
107+
# ":parent_indices_builder_lib",
108+
# "@com_google_googletest//:gtest_main", # Replaces Google-internal //testing/base/public:gunit_main
109+
# "@org_tensorflow//tensorflow/core:lib",
110+
# "@org_tensorflow//tensorflow/core:test",
111+
# ],
112+
# )
112113

113-
cc_test(
114-
name = "parquet_reader_test",
115-
srcs = ["parquet_reader_test.cc"],
116-
data = [
117-
"//struct2tensor/testdata/parquet_testdata",
118-
],
119-
deps = [
120-
":parquet_reader_lib",
121-
"//testing/base/public:gunit_main",
122-
"@org_tensorflow//tensorflow/core:framework",
123-
],
124-
)
125-
126-
cc_test(
127-
name = "parquet_reader_util_test",
128-
srcs = ["parquet_reader_util_test.cc"],
129-
data = [
130-
"//struct2tensor/testdata/parquet_testdata",
131-
],
132-
deps = [
133-
":parquet_reader_util_lib",
134-
"//testing/base/public:gunit_main",
135-
],
136-
)
114+
# Test file parquet_reader_test.cc does not exist, commenting out
115+
# cc_test(
116+
# name = "parquet_reader_test",
117+
# srcs = ["parquet_reader_test.cc"],
118+
# data = [
119+
# "//struct2tensor/testdata/parquet_testdata",
120+
# ],
121+
# deps = [
122+
# ":parquet_reader_lib",
123+
# "@com_google_googletest//:gtest_main", # Replaces Google-internal //testing/base/public:gunit_main
124+
# "@org_tensorflow//tensorflow/core:framework",
125+
# ],
126+
# )
127+
# Test file parquet_reader_util_test.cc does not exist, commenting out
128+
# cc_test(
129+
# name = "parquet_reader_util_test",
130+
# srcs = ["parquet_reader_util_test.cc"],
131+
# data = [
132+
# "//struct2tensor/testdata/parquet_testdata",
133+
# ],
134+
# deps = [
135+
# ":parquet_reader_util_lib",
136+
# "@com_google_googletest//:gtest_main", # Replaces Google-internal //testing/base/public:gunit_main
137+
# ],
138+
# )

struct2tensor/proto/BUILD

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ licenses(["notice"])
99
s2t_proto_library(
1010
name = "query_metadata_proto",
1111
srcs = ["query_metadata.proto"],
12-
deps = ["@com_github_tensorflow_metadata//tensorflow_metadata/proto/v0:cc_metadata_v0_proto_cc"],
12+
deps = ["@com_github_tensorflow_metadata//tensorflow_metadata/proto/v0:metadata_v0_proto"],
1313
)
1414

1515
s2t_proto_library_cc(
@@ -19,10 +19,9 @@ s2t_proto_library_cc(
1919

2020
s2t_proto_library_py(
2121
name = "query_metadata_py_pb2",
22-
srcs = ["query_metadata.proto"],
2322
api_version = 2,
2423
oss_deps = [
25-
"@com_github_tensorflow_metadata//tensorflow_metadata/proto/v0:py_metadata_v0_proto_py",
24+
"@com_github_tensorflow_metadata//tensorflow_metadata/proto/v0:metadata_v0_proto_py_pb2",
2625
],
2726
proto_library = "query_metadata_proto",
2827
)

0 commit comments

Comments
 (0)