Skip to content

Commit c89390a

Browse files
authored
Merge branch 'bazelbuild:master' into master
2 parents 6de33f6 + 23c6090 commit c89390a

File tree

7 files changed

+37
-54
lines changed

7 files changed

+37
-54
lines changed

closure/compiler/closure_js_binary.bzl

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -291,14 +291,10 @@ def _impl(ctx):
291291
language = ctx.attr.language,
292292
),
293293
js,
294-
DefaultInfo(files = depset(files), runfiles = ctx.runfiles(
295-
files = files + ctx.files.data,
296-
transitive_files = depset(transitive = [
297-
collect_runfiles(deps),
298-
collect_runfiles([ctx.attr.css]),
299-
collect_runfiles(ctx.attr.data),
300-
]),
301-
)),
294+
DefaultInfo(
295+
files = depset(files),
296+
runfiles = collect_runfiles(ctx, files, extra_runfiles_attrs = ["css"]),
297+
),
302298
]
303299

304300
def _validate_css_graph(ctx, js):

closure/compiler/closure_js_library.bzl

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -410,15 +410,10 @@ def _closure_js_library(ctx):
410410
DefaultInfo(
411411
files = depset(),
412412
# The usual suspects are exported as runfiles, in addition to raw source.
413-
runfiles = ctx.runfiles(
414-
files = srcs + ctx.files.data,
415-
transitive_files = depset(
416-
transitive = [
417-
collect_runfiles(unfurl(ctx.attr.deps, provider = ClosureJsLibraryInfo)),
418-
collect_runfiles(ctx.attr.data),
419-
collect_runfiles(unfurl(ctx.attr.exports)),
420-
],
421-
),
413+
runfiles = collect_runfiles(
414+
ctx,
415+
files = ctx.files.srcs,
416+
extra_runfiles_attrs = ["exports"],
422417
),
423418
),
424419
]

closure/private/defs.bzl

Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -219,18 +219,27 @@ def collect_css(deps, orientation = None):
219219
orientation = orientation,
220220
)
221221

222-
def collect_runfiles(targets):
222+
def collect_runfiles(ctx, files, extra_runfiles_attrs = None):
223223
"""Aggregates data runfiles from targets."""
224-
data = []
225-
for target in targets:
226-
if hasattr(target, "runfiles"):
227-
data.append(target.runfiles.files)
228-
continue
229-
if hasattr(target, "data_runfiles"):
230-
data.append(target.data_runfiles.files)
231-
if hasattr(target, "default_runfiles"):
232-
data.append(target.default_runfiles.files)
233-
return depset(transitive = data)
224+
all_transitive_files = []
225+
if extra_runfiles_attrs:
226+
for extra_attr in extra_runfiles_attrs:
227+
deps = getattr(ctx.attr, extra_attr, None) or []
228+
if type(deps) != "list":
229+
deps = [deps]
230+
for dep in deps:
231+
info = dep[DefaultInfo]
232+
all_transitive_files.append(info.default_runfiles.files)
233+
all_transitive_files.append(info.data_runfiles.files)
234+
235+
return ctx.runfiles(
236+
collect_default = True,
237+
collect_data = True,
238+
files = files,
239+
transitive_files = depset(
240+
transitive = all_transitive_files,
241+
),
242+
)
234243

235244
def find_js_module_roots(srcs, workspace_name, label, includes):
236245
"""Finds roots of JavaScript sources.

closure/stylesheets/closure_css_binary.bzl

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -92,12 +92,7 @@ def _closure_css_binary(ctx):
9292
),
9393
DefaultInfo(
9494
files = depset(files),
95-
runfiles = ctx.runfiles(
96-
files = files + ctx.files.data,
97-
transitive_files = depset(
98-
transitive = [collect_runfiles(deps), collect_runfiles(ctx.attr.data)],
99-
),
100-
),
95+
runfiles = collect_runfiles(ctx, files),
10196
),
10297
]
10398

closure/stylesheets/closure_css_library.bzl

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,7 @@ def _closure_css_library(ctx):
3737
ClosureJsLibraryInfo(),
3838
DefaultInfo(
3939
files = depset(),
40-
runfiles = ctx.runfiles(
41-
files = ctx.files.srcs + ctx.files.data,
42-
transitive_files = depset(
43-
transitive = [collect_runfiles(deps), collect_runfiles(ctx.attr.data)],
44-
),
45-
),
40+
runfiles = collect_runfiles(ctx, ctx.files.srcs),
4641
),
4742
]
4843

closure/testing/phantomjs_test.bzl

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -58,17 +58,10 @@ def _impl(ctx):
5858
)
5959
return DefaultInfo(
6060
files = depset(files),
61-
runfiles = ctx.runfiles(
62-
files = files + ctx.attr.data + [ctx.file.html],
63-
transitive_files = depset(transitive = [
64-
collect_runfiles(deps),
65-
collect_runfiles(ctx.attr.data),
66-
collect_runfiles([
67-
ctx.attr._phantomjs,
68-
ctx.attr.runner,
69-
ctx.attr.harness,
70-
]),
71-
]),
61+
runfiles = collect_runfiles(
62+
ctx,
63+
files = files + [ctx.file.html],
64+
extra_runfiles_attrs = ["_phantomjs", "runner", "harness"],
7265
),
7366
)
7467

closure/webfiles/web_library.bzl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -81,10 +81,10 @@ def _web_library(ctx):
8181
manifest = ctx.actions.declare_file("%s.pbtxt" % ctx.label.name)
8282
ctx.actions.write(
8383
output = manifest,
84-
content = struct(
84+
content = proto.encode_text(struct(
8585
label = str(ctx.label),
8686
src = manifest_srcs,
87-
).to_proto(),
87+
)),
8888
)
8989
manifests = depset([manifest], transitive = manifests, order = "postorder")
9090

@@ -137,7 +137,7 @@ def _web_library(ctx):
137137
],
138138
)
139139
params_file = ctx.actions.declare_file("%s_server_params.pbtxt" % ctx.label.name)
140-
ctx.actions.write(output = params_file, content = params.to_proto())
140+
ctx.actions.write(output = params_file, content = proto.encode_text(params))
141141
ctx.actions.write(
142142
is_executable = True,
143143
output = ctx.outputs.executable,

0 commit comments

Comments
 (0)