Skip to content

Commit b2362c9

Browse files
committed
Pass linter severity lists explicitly
Internal-tag: [#81121] Signed-off-by: Maciej Kurc <[email protected]>
1 parent 3ca1909 commit b2362c9

File tree

1 file changed

+15
-32
lines changed

1 file changed

+15
-32
lines changed

vc_static/defs.bzl

Lines changed: 15 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -29,28 +29,12 @@ def _value_to_tcl(value):
2929
def _dict_to_tcl(dictionary):
3030
tcl = []
3131
for name, value in dictionary.items():
32-
if name == "custom_severities":
33-
failing_severities_def = ["set", "failing_severities", "[split"]
34-
all_severities_def = ["set", "all_severities", "[split"]
35-
close_tcl_list = "\".\"]"
36-
failing_severities = []
37-
all_severities = []
38-
for k, v in value.items():
39-
severities = [".".join(v)]
40-
if k != "info":
41-
failing_severities.extend(severities)
42-
all_severities.extend(severities)
43-
failing_severities_def.extend([".".join(failing_severities), close_tcl_list])
44-
all_severities_def.extend([".".join(all_severities), close_tcl_list])
45-
tcl.append(" ".join(all_severities_def))
46-
tcl.append(" ".join(failing_severities_def))
32+
definition = ["set", name]
33+
if type(value) == "list":
34+
definition.extend([_value_to_tcl(" ".join(value))])
4735
else:
48-
definition = ["set", name]
49-
if type(value) == "list":
50-
definition.extend([_value_to_tcl(" ".join(value))])
51-
else:
52-
definition.append(_value_to_tcl(value))
53-
tcl.append(" ".join(definition))
36+
definition.append(_value_to_tcl(value))
37+
tcl.append(" ".join(definition))
5438

5539
return "\n".join(tcl)
5640

@@ -70,7 +54,8 @@ def _vc_static_lint(ctx):
7054

7155
tcl_variables = {
7256
"config_files": [f.path for f in ctx.files.config_files],
73-
"custom_severities": ctx.attr.custom_severities,
57+
"all_severities": ctx.attr.severities,
58+
"failing_severities": ctx.attr.failing_severities,
7459
"enable_liberty": ctx.attr.enable_liberty,
7560
"goal_name": ctx.attr.goal_name,
7661
"include_dirs": depset([f.dirname for f in (all_srcs + all_hdrs)]).to_list(),
@@ -129,16 +114,6 @@ vc_static_lint = rule(
129114
doc = "Config files",
130115
allow_files = True,
131116
),
132-
"custom_severities": attr.string_list_dict(
133-
doc = "Dictionary of severities (keys) and the overriding names (values)",
134-
# buildifier: disable=unsorted-dict-items
135-
default = {
136-
"fatal": ["fatal"],
137-
"error": ["error"],
138-
"warning": ["warning"],
139-
"info": ["info"],
140-
},
141-
),
142117
"enable_liberty": attr.bool(
143118
doc = "Enable liberty database load",
144119
default = False,
@@ -147,6 +122,14 @@ vc_static_lint = rule(
147122
doc = "Lint goal name",
148123
default = "lint_rtl",
149124
),
125+
"severities": attr.string_list(
126+
doc = "List of lint severity names to report",
127+
default = ["fatal", "error", "warning", "info"],
128+
),
129+
"failing_severities": attr.string_list(
130+
doc = "List of lint severity names to fail on",
131+
default = ["fatal", "error", "warning"],
132+
),
150133
"module": attr.label(
151134
doc = "The top level module target to lint.",
152135
providers = [VerilogInfo],

0 commit comments

Comments
 (0)