feat: option to not override severity from linters (#4452)
This commit is contained in:
parent
f81c3f26c1
commit
3d9135248b
@ -2856,6 +2856,10 @@ severity:
|
|||||||
# Default: false
|
# Default: false
|
||||||
case-sensitive: true
|
case-sensitive: true
|
||||||
|
|
||||||
|
# Don't override severity defined by linters.
|
||||||
|
# Default: false
|
||||||
|
keep-linter-severity: true
|
||||||
|
|
||||||
# When a list of severity rules are provided, severity information will be added to lint issues.
|
# When a list of severity rules are provided, severity information will be added to lint issues.
|
||||||
# Severity rules have the same filtering capability as exclude rules
|
# Severity rules have the same filtering capability as exclude rules
|
||||||
# except you are allowed to specify one matcher per severity rule.
|
# except you are allowed to specify one matcher per severity rule.
|
||||||
|
@ -11,6 +11,7 @@ type Severity struct {
|
|||||||
Default string `mapstructure:"default-severity"`
|
Default string `mapstructure:"default-severity"`
|
||||||
CaseSensitive bool `mapstructure:"case-sensitive"`
|
CaseSensitive bool `mapstructure:"case-sensitive"`
|
||||||
Rules []SeverityRule `mapstructure:"rules"`
|
Rules []SeverityRule `mapstructure:"rules"`
|
||||||
|
KeepLinterSeverity bool `mapstructure:"keep-linter-severity"` // TODO(ldez): in v2 should be changed to `Override`.
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *Severity) Validate() error {
|
func (s *Severity) Validate() error {
|
||||||
|
@ -332,6 +332,7 @@ func getSeverityRulesProcessor(cfg *config.Severity, log logutils.Log, files *fs
|
|||||||
Default: cfg.Default,
|
Default: cfg.Default,
|
||||||
Rules: severityRules,
|
Rules: severityRules,
|
||||||
CaseSensitive: cfg.CaseSensitive,
|
CaseSensitive: cfg.CaseSensitive,
|
||||||
|
Override: !cfg.KeepLinterSeverity,
|
||||||
}
|
}
|
||||||
|
|
||||||
return processors.NewSeverity(log.Child(logutils.DebugKeySeverityRules), files, severityOpts)
|
return processors.NewSeverity(log.Child(logutils.DebugKeySeverityRules), files, severityOpts)
|
||||||
|
@ -24,6 +24,7 @@ type SeverityOptions struct {
|
|||||||
Default string
|
Default string
|
||||||
Rules []SeverityRule
|
Rules []SeverityRule
|
||||||
CaseSensitive bool
|
CaseSensitive bool
|
||||||
|
Override bool
|
||||||
}
|
}
|
||||||
|
|
||||||
type Severity struct {
|
type Severity struct {
|
||||||
@ -35,6 +36,7 @@ type Severity struct {
|
|||||||
|
|
||||||
defaultSeverity string
|
defaultSeverity string
|
||||||
rules []severityRule
|
rules []severityRule
|
||||||
|
override bool
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewSeverity(log logutils.Log, files *fsutils.Files, opts SeverityOptions) *Severity {
|
func NewSeverity(log logutils.Log, files *fsutils.Files, opts SeverityOptions) *Severity {
|
||||||
@ -43,6 +45,7 @@ func NewSeverity(log logutils.Log, files *fsutils.Files, opts SeverityOptions) *
|
|||||||
files: files,
|
files: files,
|
||||||
log: log,
|
log: log,
|
||||||
defaultSeverity: opts.Default,
|
defaultSeverity: opts.Default,
|
||||||
|
override: opts.Override,
|
||||||
}
|
}
|
||||||
|
|
||||||
prefix := "(?i)"
|
prefix := "(?i)"
|
||||||
@ -62,6 +65,10 @@ func (p *Severity) Process(issues []result.Issue) ([]result.Issue, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
return transformIssues(issues, func(i *result.Issue) *result.Issue {
|
return transformIssues(issues, func(i *result.Issue) *result.Issue {
|
||||||
|
if i.Severity != "" && !p.override {
|
||||||
|
return i
|
||||||
|
}
|
||||||
|
|
||||||
for _, rule := range p.rules {
|
for _, rule := range p.rules {
|
||||||
rule := rule
|
rule := rule
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user