@@ -29,28 +29,12 @@ def _value_to_tcl(value):
29
29
def _dict_to_tcl (dictionary ):
30
30
tcl = []
31
31
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 ))])
47
35
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 ))
54
38
55
39
return "\n " .join (tcl )
56
40
@@ -70,7 +54,8 @@ def _vc_static_lint(ctx):
70
54
71
55
tcl_variables = {
72
56
"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 ,
74
59
"enable_liberty" : ctx .attr .enable_liberty ,
75
60
"goal_name" : ctx .attr .goal_name ,
76
61
"include_dirs" : depset ([f .dirname for f in (all_srcs + all_hdrs )]).to_list (),
@@ -129,16 +114,6 @@ vc_static_lint = rule(
129
114
doc = "Config files" ,
130
115
allow_files = True ,
131
116
),
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
- ),
142
117
"enable_liberty" : attr .bool (
143
118
doc = "Enable liberty database load" ,
144
119
default = False ,
@@ -147,6 +122,14 @@ vc_static_lint = rule(
147
122
doc = "Lint goal name" ,
148
123
default = "lint_rtl" ,
149
124
),
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
+ ),
150
133
"module" : attr .label (
151
134
doc = "The top level module target to lint." ,
152
135
providers = [VerilogInfo ],
0 commit comments