Skip to content

Commit 752bda1

Browse files
committed
Following rules_closure changes to providers
1 parent 21a4214 commit 752bda1

File tree

3 files changed

+30
-45
lines changed

3 files changed

+30
-45
lines changed

tensorboard/defs/internal/html.bzl

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
"""Rule for building the HTML binary."""
1616

1717
load("@io_bazel_rules_closure//closure:defs.bzl", "closure_js_aspect")
18-
load("@io_bazel_rules_closure//closure/private:defs.bzl", "WebFilesInfo", "long_path", "unfurl") # buildifier: disable=bzl-visibility
18+
load("@io_bazel_rules_closure//closure/private:defs.bzl", "WebFilesInfo", "collect_runfiles", "extract_providers", "long_path", "unfurl") # buildifier: disable=bzl-visibility
1919

2020
def _tb_combine_html_impl(ctx):
2121
"""Compiles HTMLs into one HTML.
@@ -25,10 +25,11 @@ def _tb_combine_html_impl(ctx):
2525
JavaScript file when `js_path` is specified.
2626
"""
2727

28-
deps = unfurl(ctx.attr.deps, provider = WebFilesInfo).exports
29-
manifests = depset(order = "postorder", transitive = [dep[WebFilesInfo].manifests for dep in deps])
30-
webpaths = depset(transitive = [dep[WebFilesInfo].webpaths for dep in deps])
31-
files = depset(transitive = [dep.data_runfiles.files for dep in deps])
28+
deps = extract_providers(ctx.attr.deps, provider = WebFilesInfo)
29+
deps = unfurl(deps)
30+
manifests = depset(order = "postorder", transitive = [dep.manifests for dep in deps])
31+
webpaths = depset(transitive = [dep.webpaths for dep in deps])
32+
files = depset(transitive = [dep[DefaultInfo].data_runfiles.files for dep in ctx.attr.deps])
3233
webpaths = depset([ctx.attr.output_path], transitive = [webpaths])
3334

3435
# vulcanize
@@ -77,23 +78,16 @@ def _tb_combine_html_impl(ctx):
7778
)
7879
manifests = depset([manifest], transitive = [manifests])
7980

80-
transitive_runfiles = depset()
81-
for dep in deps:
82-
transitive_runfiles = depset(transitive = [
83-
transitive_runfiles,
84-
dep.data_runfiles.files,
85-
])
86-
8781
return [
8882
DefaultInfo(
8983
files = depset([ctx.outputs.html, ctx.outputs.js]),
90-
runfiles = ctx.runfiles(
84+
runfiles = collect_runfiles(
85+
ctx,
9186
files = ctx.files.data + [
9287
manifest,
9388
ctx.outputs.html,
9489
ctx.outputs.js,
9590
],
96-
transitive_files = transitive_runfiles,
9791
),
9892
),
9993
WebFilesInfo(

tensorboard/defs/web.bzl

Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ load(
2727
"collect_js",
2828
"collect_runfiles",
2929
"difference",
30+
"extract_providers",
3031
"long_path",
3132
"unfurl",
3233
)
@@ -51,8 +52,8 @@ def _tf_web_library(ctx):
5152
fail("when \"*\" is suppressed no other items should be present")
5253

5354
# process what came before
54-
deps = unfurl(ctx.attr.deps, provider = WebFilesInfo).exports
55-
webpaths = depset(transitive = [dep[WebFilesInfo].webpaths for dep in deps])
55+
deps = extract_providers(ctx.attr.deps, provider = WebFilesInfo)
56+
webpaths = depset(transitive = [dep.webpaths for dep in deps])
5657

5758
# process what comes now
5859
manifest_srcs = []
@@ -93,7 +94,7 @@ def _tf_web_library(ctx):
9394
# If a rule exists purely to export other build rules, then it's
9495
# appropriate for the exported sources to be included in the
9596
# development web server.
96-
export_deps = unfurl(ctx.attr.exports).exports
97+
export_deps = unfurl(extract_providers(ctx.attr.exports))
9798
devserver_manifests = depset(
9899
order = "postorder",
99100
transitive = (
@@ -131,15 +132,16 @@ def _tf_web_library(ctx):
131132
manifests = manifests,
132133
webpaths = webpaths,
133134
dummy = dummy,
135+
exports = export_deps,
134136
),
135-
unfurl(ctx.attr.exports),
136137
collect_js(
137-
unfurl(ctx.attr.deps, provider = ClosureJsLibraryInfo).exports,
138+
unfurl(deps),
138139
ctx.files._closure_library_base,
139140
),
140141
DefaultInfo(
141142
files = depset(web_srcs + [dummy]),
142-
runfiles = ctx.runfiles(
143+
runfiles = collect_runfiles(
144+
ctx,
143145
files = (ctx.files.srcs +
144146
ctx.files.data +
145147
ctx.files._closure_library_base + [
@@ -148,12 +150,7 @@ def _tf_web_library(ctx):
148150
ctx.outputs.executable,
149151
dummy,
150152
]),
151-
transitive_files = depset(transitive = [
152-
collect_runfiles([ctx.attr._WebfilesServer]),
153-
collect_runfiles(deps),
154-
collect_runfiles(export_deps),
155-
collect_runfiles(ctx.attr.data),
156-
]),
153+
extra_runfiles_attrs = ["export_deps", "_WebfilesServer"],
157154
),
158155
),
159156
]
@@ -171,7 +168,7 @@ def _make_manifest(ctx, src_list):
171168

172169
def _run_webfiles_validator(ctx, srcs, deps, manifest):
173170
dummy = _new_file(ctx, "-webfiles.ignoreme")
174-
manifests = depset(order = "postorder", transitive = [dep[WebFilesInfo].manifests for dep in deps])
171+
manifests = depset(order = "postorder", transitive = [dep.manifests for dep in deps])
175172
if srcs:
176173
args = [
177174
"WebfilesValidator",
@@ -186,13 +183,12 @@ def _run_webfiles_validator(ctx, srcs, deps, manifest):
186183
args.append(category)
187184
inputs = [] # list of depsets
188185
inputs.append(depset([manifest] + srcs))
189-
direct_manifests = depset([dep[WebFilesInfo].manifest for dep in deps])
186+
direct_manifests = depset([dep.manifest for dep in deps])
190187
for dep in deps:
191-
inputs.append(depset([dep[WebFilesInfo].dummy]))
192-
inputs.append(dep.files)
193-
inputs.append(depset([dep[WebFilesInfo].manifest]))
188+
inputs.append(depset([dep.dummy]))
189+
inputs.append(depset([dep.manifest]))
194190
args.append("--direct_dep")
195-
args.append(dep[WebFilesInfo].manifest.path)
191+
args.append(dep.manifest.path)
196192
for man in difference(manifests, direct_manifests):
197193
inputs.append(depset([man]))
198194
args.append("--transitive_dep")

tensorboard/defs/zipper.bzl

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,14 @@
1414

1515
"""Rule for zipping Webfiles."""
1616

17-
load("@io_bazel_rules_closure//closure/private:defs.bzl", "unfurl")
17+
load("@io_bazel_rules_closure//closure/private:defs.bzl", "WebFilesInfo", "collect_runfiles", "extract_providers", "unfurl")
1818

1919
def _tensorboard_zip_file(ctx):
20-
deps = unfurl(ctx.attr.deps, provider = WebFilesInfo).exports
21-
manifests = depset(order = "postorder", transitive = [dep[WebFilesInfo].manifests for dep in deps])
22-
webpaths = depset(transitive = [dep[WebFilesInfo].webpaths for dep in deps])
23-
files = depset(transitive = [dep.data_runfiles.files for dep in deps])
20+
deps = extract_providers(ctx.attr.deps, provider = WebFilesInfo)
21+
deps = unfurl(deps)
22+
manifests = depset(order = "postorder", transitive = [dep.manifests for dep in deps])
23+
webpaths = depset(transitive = [dep.webpaths for dep in deps])
24+
files = depset(transitive = [dep[DefaultInfo].data_runfiles.files for dep in ctx.attr.deps])
2425
ctx.actions.run(
2526
mnemonic = "Zipper",
2627
inputs = depset(transitive = [manifests, files]).to_list(),
@@ -30,17 +31,11 @@ def _tensorboard_zip_file(ctx):
3031
[m.path for m in manifests.to_list()]),
3132
progress_message = "Zipping %d files" % len(webpaths.to_list()),
3233
)
33-
transitive_runfiles = depset()
34-
for dep in deps:
35-
transitive_runfiles = depset(transitive = [
36-
transitive_runfiles,
37-
dep.data_runfiles.files,
38-
])
3934
return DefaultInfo(
4035
files = depset([ctx.outputs.zip]),
41-
runfiles = ctx.runfiles(
36+
runfiles = collect_runfiles(
37+
ctx,
4238
files = ctx.files.data + [ctx.outputs.zip],
43-
transitive_files = transitive_runfiles,
4439
),
4540
)
4641

0 commit comments

Comments
 (0)