Skip to content

Commit a08add7

Browse files
committed
Following rules_closure changes to providers
1 parent 6b3d9e8 commit a08add7

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 = (
@@ -150,15 +151,16 @@ def _tf_web_library(ctx):
150151
manifests = manifests,
151152
webpaths = webpaths,
152153
dummy = dummy,
154+
exports = export_deps,
153155
),
154-
unfurl(ctx.attr.exports),
155156
collect_js(
156-
unfurl(ctx.attr.deps, provider = ClosureJsLibraryInfo).exports,
157+
unfurl(deps),
157158
ctx.files._closure_library_base,
158159
),
159160
DefaultInfo(
160161
files = depset(web_srcs + [dummy]),
161-
runfiles = ctx.runfiles(
162+
runfiles = collect_runfiles(
163+
ctx,
162164
files = (ctx.files.srcs +
163165
ctx.files.data +
164166
ctx.files._closure_library_base + [
@@ -167,12 +169,7 @@ def _tf_web_library(ctx):
167169
ctx.outputs.executable,
168170
dummy,
169171
]),
170-
transitive_files = depset(transitive = [
171-
collect_runfiles([ctx.attr._WebfilesServer]),
172-
collect_runfiles(deps),
173-
collect_runfiles(export_deps),
174-
collect_runfiles(ctx.attr.data),
175-
]),
172+
extra_runfiles_attrs = ["export_deps", "_WebfilesServer"],
176173
),
177174
),
178175
]
@@ -190,7 +187,7 @@ def _make_manifest(ctx, src_list):
190187

191188
def _run_webfiles_validator(ctx, srcs, deps, manifest):
192189
dummy = _new_file(ctx, "-webfiles.ignoreme")
193-
manifests = depset(order = "postorder", transitive = [dep[WebFilesInfo].manifests for dep in deps])
190+
manifests = depset(order = "postorder", transitive = [dep.manifests for dep in deps])
194191
if srcs:
195192
args = [
196193
"WebfilesValidator",
@@ -205,13 +202,12 @@ def _run_webfiles_validator(ctx, srcs, deps, manifest):
205202
args.append(category)
206203
inputs = [] # list of depsets
207204
inputs.append(depset([manifest] + srcs))
208-
direct_manifests = depset([dep[WebFilesInfo].manifest for dep in deps])
205+
direct_manifests = depset([dep.manifest for dep in deps])
209206
for dep in deps:
210-
inputs.append(depset([dep[WebFilesInfo].dummy]))
211-
inputs.append(dep.files)
212-
inputs.append(depset([dep[WebFilesInfo].manifest]))
207+
inputs.append(depset([dep.dummy]))
208+
inputs.append(depset([dep.manifest]))
213209
args.append("--direct_dep")
214-
args.append(dep[WebFilesInfo].manifest.path)
210+
args.append(dep.manifest.path)
215211
for man in difference(manifests, direct_manifests):
216212
inputs.append(depset([man]))
217213
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)