Skip to content

Commit aafe3c9

Browse files
Test fixing tensorflow-text nightly builds.
PiperOrigin-RevId: 818668082
1 parent aa839b1 commit aafe3c9

File tree

12 files changed

+133
-92
lines changed

12 files changed

+133
-92
lines changed

WORKSPACE

Lines changed: 28 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@ load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
44

55
http_archive(
66
name = "icu",
7-
strip_prefix = "icu-release-64-2",
8-
sha256 = "dfc62618aa4bd3ca14a3df548cd65fe393155edd213e49c39f3a30ccd618fc27",
7+
strip_prefix = "icu-release-77-1",
8+
sha256 = "e424ba5282d95ad38b52639a08fb82164f0b0cbd7f17b53ae16bf14f8541855f",
99
urls = [
10-
"https://storage.googleapis.com/mirror.tensorflow.org/github.com/unicode-org/icu/archive/release-64-2.zip",
11-
"https://github.com/unicode-org/icu/archive/release-64-2.zip",
10+
"https://storage.googleapis.com/mirror.tensorflow.org/github.com/unicode-org/icu/archive/release-77-1.zip",
11+
"https://github.com/unicode-org/icu/archive/release-77-1.zip",
1212
],
1313
build_file = "//third_party/icu:BUILD.bzl",
1414
patches = ["//third_party/icu:udata.patch"],
@@ -56,10 +56,10 @@ http_archive(
5656

5757
http_archive(
5858
name = "org_tensorflow",
59-
strip_prefix = "tensorflow-40998f44c0c500ce0f6e3b1658dfbc54f838a82a",
60-
sha256 = "5a5bc4599964c71277dcac0d687435291e5810d2ac2f6283cc96736febf73aaf",
59+
strip_prefix = "tensorflow-735467e89ccfd7ace190363412bb5698164628b5",
60+
sha256 = "c75a6fde64ba60d435f795a1a63f5caec0db8b352f544e222b8f51a1f6fec63e",
6161
urls = [
62-
"https://github.com/tensorflow/tensorflow/archive/40998f44c0c500ce0f6e3b1658dfbc54f838a82a.zip"
62+
"https://github.com/tensorflow/tensorflow/archive/735467e89ccfd7ace190363412bb5698164628b5.zip"
6363
],
6464
)
6565

@@ -95,7 +95,7 @@ load("@org_tensorflow//third_party/py:python_init_rules.bzl", "python_init_rules
9595

9696
python_init_rules()
9797

98-
load("//tensorflow_text:tftext.bzl", "py_deps_profile")
98+
load("//tensorflow_text:py_deps_profile.bzl", "py_deps_profile")
9999

100100
py_deps_profile(
101101
name = "release_or_nightly",
@@ -158,7 +158,22 @@ load(
158158
python_wheel_version_suffix_repository(name = "tf_wheel_version_suffix")
159159

160160
load(
161-
"@local_xla//third_party/gpus/cuda/hermetic:cuda_json_init_repository.bzl",
161+
"@rules_ml_toolchain//cc/deps:cc_toolchain_deps.bzl",
162+
"cc_toolchain_deps",
163+
)
164+
165+
cc_toolchain_deps()
166+
167+
register_toolchains("@rules_ml_toolchain//cc:linux_x86_64_linux_x86_64")
168+
169+
register_toolchains("@rules_ml_toolchain//cc:linux_x86_64_linux_x86_64_cuda")
170+
171+
register_toolchains("@rules_ml_toolchain//cc:linux_aarch64_linux_aarch64")
172+
173+
register_toolchains("@rules_ml_toolchain//cc:linux_aarch64_linux_aarch64_cuda")
174+
175+
load(
176+
"@rules_ml_toolchain//third_party/gpus/cuda/hermetic:cuda_json_init_repository.bzl",
162177
"cuda_json_init_repository",
163178
)
164179

@@ -170,7 +185,7 @@ load(
170185
"CUDNN_REDISTRIBUTIONS",
171186
)
172187
load(
173-
"@local_xla//third_party/gpus/cuda/hermetic:cuda_redist_init_repositories.bzl",
188+
"@rules_ml_toolchain//third_party/gpus/cuda/hermetic:cuda_redist_init_repositories.bzl",
174189
"cuda_redist_init_repositories",
175190
"cudnn_redist_init_repository",
176191
)
@@ -184,21 +199,21 @@ cudnn_redist_init_repository(
184199
)
185200

186201
load(
187-
"@local_xla//third_party/gpus/cuda/hermetic:cuda_configure.bzl",
202+
"@rules_ml_toolchain//third_party/gpus/cuda/hermetic:cuda_configure.bzl",
188203
"cuda_configure",
189204
)
190205

191206
cuda_configure(name = "local_config_cuda")
192207

193208
load(
194-
"@local_xla//third_party/nccl/hermetic:nccl_redist_init_repository.bzl",
209+
"@rules_ml_toolchain//third_party/nccl/hermetic:nccl_redist_init_repository.bzl",
195210
"nccl_redist_init_repository",
196211
)
197212

198213
nccl_redist_init_repository()
199214

200215
load(
201-
"@local_xla//third_party/nccl/hermetic:nccl_configure.bzl",
216+
"@rules_ml_toolchain//third_party/nccl/hermetic:nccl_configure.bzl",
202217
"nccl_configure",
203218
)
204219

oss_scripts/pip_package/BUILD

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# Tools for building the TF.Text pip package.
2-
load("@python//:defs.bzl", "compile_pip_requirements")
2+
33
load("@python_version_repo//:py_version.bzl", "REQUIREMENTS")
4+
load("@rules_python//python:pip.bzl", "compile_pip_requirements")
45

56
package(default_visibility = ["//visibility:private"])
67

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
setuptools==70.0.0
22
dm-tree==0.1.8 # Limit for macos support.
33
numpy
4-
protobuf==4.25.3 # b/397977335 - Fix crash on python 3.9, 3.10.
54
tensorflow
65
tf-keras
76
tensorflow-datasets
8-
tensorflow-metadata

tensorflow_text/BUILD

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1-
# Placeholder: load py_library
2-
# Placeholder: load py_test
1+
load("@org_tensorflow//tensorflow:tensorflow.bzl", "if_oss")
32
load("@org_tensorflow//tensorflow/lite:build_def.bzl", "tflite_cc_shared_object")
43
load("@rules_cc//cc:cc_library.bzl", "cc_library")
4+
load("@rules_python//python:py_library.bzl", "py_library")
5+
load("@rules_python//python:py_test.bzl", "py_test")
56
load("//tensorflow_text:tftext.bzl", "extra_py_deps", "py_tf_text_library")
67
# [internal] load build_test.bzl
78

@@ -123,9 +124,11 @@ py_library(
123124
":wordpiece_tokenizer",
124125
":wordshape_ops",
125126
# python/util:all_util tensorflow dep,
126-
"//tensorflow_text/core/pybinds:tflite_registrar",
127127
"//tensorflow_text/tools/wordpiece_vocab",
128-
] + extra_py_deps(),
128+
] + if_oss(
129+
["//tensorflow_text/core/pybinds:tflite_registrar_library"],
130+
["//tensorflow_text/core/pybinds:tflite_registrar"],
131+
) + extra_py_deps(),
129132
)
130133

131134
# build_test

tensorflow_text/core/kernels/BUILD

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -337,6 +337,7 @@ cc_library(
337337
deps = [
338338
"@com_google_absl//absl/container:flat_hash_set",
339339
"@com_google_absl//absl/status:statusor",
340+
"@com_google_absl//absl/strings",
340341
"@darts_clone",
341342
],
342343
)

tensorflow_text/core/kernels/darts_clone_trie_builder.cc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
#include <numeric>
2020

2121
#include "absl/container/flat_hash_set.h"
22+
#include "absl/strings/str_cat.h"
2223
#include "include/darts.h"
2324

2425
namespace tensorflow {

tensorflow_text/core/pybinds/BUILD

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
# Code that exposes C++ libraries to Python via pybind11.
22

3-
# Placeholder: load py_test
4-
load("@org_tensorflow//tensorflow:tensorflow.bzl", "pybind_extension")
3+
load("@rules_python//python:py_test.bzl", "py_test")
4+
5+
# This comment separates the load statements, so copybara reverse transformation works.
6+
7+
load("@org_tensorflow//tensorflow:tensorflow.default.bzl", "pybind_extension", "pywrap_library")
58

69
licenses(["notice"])
710

@@ -11,6 +14,11 @@ package(default_visibility = [
1114
"//tensorflow_text:__subpackages__",
1215
])
1316

17+
pywrap_library(
18+
name = "tflite_registrar_library",
19+
deps = [":tflite_registrar"],
20+
)
21+
1422
pybind_extension(
1523
name = "tflite_registrar",
1624
srcs = [
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
"""
2+
Repository rule for open source dependencies.
3+
"""
4+
5+
def _py_deps_profile_impl(ctx):
6+
is_switch = False
7+
for var_name, var_val in ctx.attr.switch.items():
8+
is_switch = is_switch or ctx.os.environ.get(var_name, "") == var_val
9+
10+
prefix = ctx.attr.pip_repo_name
11+
reqirements_name = ctx.attr.requirements_in.name
12+
requirements_in_substitutions = {}
13+
build_content = ['exports_files(["{}"])'.format(reqirements_name)]
14+
for k, v in ctx.attr.deps_map.items():
15+
repo_name = v[0] if is_switch else k
16+
requirements_in_substitutions[k + "\n"] = repo_name + "\n"
17+
requirements_in_substitutions[k + "\r\n"] = repo_name + "\r\n"
18+
aliased_targets = ["pkg"] + v[1:]
19+
norm_repo_name = repo_name.replace("-", "_")
20+
norm_alas_name = k.replace("-", "_")
21+
for target in aliased_targets:
22+
alias_name = "{}_{}".format(norm_alas_name, target)
23+
alias_value = "@{}_{}//:{}".format(prefix, norm_repo_name, target)
24+
build_content.append("""
25+
alias(
26+
name = "{}",
27+
actual = "{}",
28+
visibility = ["//visibility:public"]
29+
)
30+
""".format(alias_name, alias_value))
31+
32+
ctx.file("BUILD", "".join(build_content))
33+
ctx.template(
34+
reqirements_name,
35+
ctx.attr.requirements_in,
36+
executable = False,
37+
substitutions = requirements_in_substitutions,
38+
)
39+
40+
py_deps_profile = repository_rule(
41+
implementation = _py_deps_profile_impl,
42+
attrs = {
43+
"requirements_in": attr.label(mandatory = True),
44+
"deps_map": attr.string_list_dict(mandatory = True),
45+
"pip_repo_name": attr.string(mandatory = True),
46+
"switch": attr.string_dict(mandatory = True),
47+
},
48+
local = True,
49+
)

tensorflow_text/tftext.bzl

Lines changed: 9 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
"""
22
Build rule for open source tf.text libraries.
33
"""
4+
load("@rules_python//python:py_library.bzl", "py_library")
5+
46

57
def py_tf_text_library(
68
name,
@@ -85,7 +87,7 @@ def py_tf_text_library(
8587
}),
8688
)
8789

88-
native.py_library(
90+
py_library(
8991
name = name,
9092
srcs = srcs,
9193
srcs_version = "PY2AND3",
@@ -139,6 +141,12 @@ def tf_cc_library(
139141
oss_deps = oss_deps + _dedupe(deps, "@com_google_absl//absl/time")
140142
oss_deps = oss_deps + _dedupe(deps, "@com_google_absl//absl/types:variant")
141143
oss_deps = oss_deps + _dedupe(deps, "@com_google_absl//absl/functional:any_invocable")
144+
oss_deps = oss_deps + _dedupe(deps, "@com_google_absl//absl/log:check")
145+
oss_deps = oss_deps + _dedupe(deps, "@com_google_absl//absl/log:log")
146+
oss_deps = oss_deps + _dedupe(deps, "@com_google_absl//absl/log:absl_check")
147+
oss_deps = oss_deps + _dedupe(deps, "@com_google_absl//absl/log:absl_log")
148+
oss_deps = oss_deps + _dedupe(deps, "@com_google_absl//absl/container:btree")
149+
oss_deps = oss_deps + _dedupe(deps, "@com_google_absl//absl/container:flat_hash_set")
142150
deps += select({
143151
"@org_tensorflow//tensorflow:mobile": [
144152
"@org_tensorflow//tensorflow/core:portable_tensorflow_lib_lite",
@@ -227,49 +235,3 @@ def extra_py_deps():
227235
"@pypi_tensorflow_datasets//:pkg",
228236
"@pypi_tensorflow_metadata//:pkg",
229237
]
230-
231-
def _py_deps_profile_impl(ctx):
232-
is_switch = False
233-
for var_name, var_val in ctx.attr.switch.items():
234-
is_switch = is_switch or ctx.os.environ.get(var_name, "") == var_val
235-
236-
prefix = ctx.attr.pip_repo_name
237-
reqirements_name = ctx.attr.requirements_in.name
238-
requirements_in_substitutions = {}
239-
build_content = ['exports_files(["{}"])'.format(reqirements_name)]
240-
for k, v in ctx.attr.deps_map.items():
241-
repo_name = v[0] if is_switch else k
242-
requirements_in_substitutions[k + "\n"] = repo_name + "\n"
243-
requirements_in_substitutions[k + "\r\n"] = repo_name + "\r\n"
244-
aliased_targets = ["pkg"] + v[1:]
245-
norm_repo_name = repo_name.replace("-", "_")
246-
norm_alas_name = k.replace("-", "_")
247-
for target in aliased_targets:
248-
alias_name = "{}_{}".format(norm_alas_name, target)
249-
alias_value = "@{}_{}//:{}".format(prefix, norm_repo_name, target)
250-
build_content.append("""
251-
alias(
252-
name = "{}",
253-
actual = "{}",
254-
visibility = ["//visibility:public"]
255-
)
256-
""".format(alias_name, alias_value))
257-
258-
ctx.file("BUILD", "".join(build_content))
259-
ctx.template(
260-
reqirements_name,
261-
ctx.attr.requirements_in,
262-
executable = False,
263-
substitutions = requirements_in_substitutions,
264-
)
265-
266-
py_deps_profile = repository_rule(
267-
implementation = _py_deps_profile_impl,
268-
attrs = {
269-
"requirements_in": attr.label(mandatory = True),
270-
"deps_map": attr.string_list_dict(mandatory = True),
271-
"pip_repo_name": attr.string(mandatory = True),
272-
"switch": attr.string_dict(mandatory = True),
273-
},
274-
local = True,
275-
)

tensorflow_text/tools/wordpiece_vocab/BUILD

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
# Placeholder: load py_library
2-
# Placeholder: load py_test
1+
load("@rules_python//python:py_library.bzl", "py_library")
2+
load("@rules_python//python:py_test.bzl", "py_test")
33

44
licenses(["notice"])
55

0 commit comments

Comments
 (0)