Skip to content

Commit

Permalink
chore: remove ExcludeRulesOptions and getExcludeRulesProcessor
Browse files Browse the repository at this point in the history
  • Loading branch information
ldez committed Apr 24, 2024
1 parent bfde9d6 commit c39f59d
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 44 deletions.
24 changes: 1 addition & 23 deletions pkg/lint/runner.go
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ func NewRunner(log logutils.Log, cfg *config.Config, args []string, goenv *gouti
processors.NewIdentifierMarker(),

getExcludeProcessor(&cfg.Issues),
getExcludeRulesProcessor(&cfg.Issues, log, files),
processors.NewExcludeRules(log.Child(logutils.DebugKeyExcludeRules), files, &cfg.Issues),
processors.NewNolint(log.Child(logutils.DebugKeyNolint), dbManager, enabledLinters),

processors.NewUniqByLine(cfg),
Expand Down Expand Up @@ -254,25 +254,3 @@ func getExcludeProcessor(cfg *config.Issues) processors.Processor {

return processors.NewExclude(opts)
}

func getExcludeRulesProcessor(cfg *config.Issues, log logutils.Log, files *fsutils.Files) processors.Processor {
excludeRules := cfg.ExcludeRules

if cfg.UseDefaultExcludes {
for _, r := range config.GetExcludePatterns(cfg.IncludeDefaultExcludes) {
excludeRules = append(excludeRules, config.ExcludeRule{
BaseRule: config.BaseRule{
Text: r.Pattern,
Linters: []string{r.Linter},
},
})
}
}

opts := processors.ExcludeRulesOptions{
Rules: excludeRules,
CaseSensitive: cfg.ExcludeCaseSensitive,
}

return processors.NewExcludeRules(log.Child(logutils.DebugKeyExcludeRules), files, opts)
}
24 changes: 16 additions & 8 deletions pkg/result/processors/exclude_rules.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,25 +24,33 @@ type ExcludeRules struct {
rules []excludeRule
}

type ExcludeRulesOptions struct {
Rules []config.ExcludeRule
CaseSensitive bool
}

func NewExcludeRules(log logutils.Log, files *fsutils.Files, opts ExcludeRulesOptions) *ExcludeRules {
func NewExcludeRules(log logutils.Log, files *fsutils.Files, cfg *config.Issues) *ExcludeRules {
p := &ExcludeRules{
name: "exclude-rules",
files: files,
log: log,
}

prefix := caseInsensitivePrefix
if opts.CaseSensitive {
if cfg.ExcludeCaseSensitive {
prefix = ""
p.name = "exclude-rules-case-sensitive"
}

p.rules = createRules(opts.Rules, prefix)
excludeRules := cfg.ExcludeRules

if cfg.UseDefaultExcludes {
for _, r := range config.GetExcludePatterns(cfg.IncludeDefaultExcludes) {
excludeRules = append(excludeRules, config.ExcludeRule{
BaseRule: config.BaseRule{
Text: r.Pattern,
Linters: []string{r.Linter},
},
})
}
}

p.rules = createRules(excludeRules, prefix)

return p
}
Expand Down
26 changes: 13 additions & 13 deletions pkg/result/processors/exclude_rules_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ func TestExcludeRules_multiple(t *testing.T) {
lineCache := fsutils.NewLineCache(fsutils.NewFileCache())
files := fsutils.NewFiles(lineCache, "")

opts := ExcludeRulesOptions{Rules: []config.ExcludeRule{
opts := &config.Issues{ExcludeRules: []config.ExcludeRule{
{
BaseRule: config.BaseRule{
Text: "^exclude$",
Expand Down Expand Up @@ -95,8 +95,8 @@ func TestExcludeRules_pathPrefix(t *testing.T) {
pathPrefix := path.Join("some", "dir")
files := fsutils.NewFiles(lineCache, pathPrefix)

opts := ExcludeRulesOptions{
Rules: []config.ExcludeRule{
opts := &config.Issues{
ExcludeRules: []config.ExcludeRule{
{
BaseRule: config.BaseRule{
Path: `some/dir/e\.go`,
Expand Down Expand Up @@ -137,8 +137,8 @@ func TestExcludeRules_pathPrefix(t *testing.T) {
}

func TestExcludeRules_text(t *testing.T) {
opts := ExcludeRulesOptions{
Rules: []config.ExcludeRule{
opts := &config.Issues{
ExcludeRules: []config.ExcludeRule{
{
BaseRule: config.BaseRule{
Text: "^exclude$",
Expand Down Expand Up @@ -171,16 +171,16 @@ func TestExcludeRules_text(t *testing.T) {
}

func TestExcludeRules_empty(t *testing.T) {
processAssertSame(t, NewExcludeRules(nil, nil, ExcludeRulesOptions{}), newIssueFromTextTestCase("test"))
processAssertSame(t, NewExcludeRules(nil, nil, &config.Issues{}), newIssueFromTextTestCase("test"))
}

func TestExcludeRules_caseSensitive_multiple(t *testing.T) {
lineCache := fsutils.NewLineCache(fsutils.NewFileCache())
files := fsutils.NewFiles(lineCache, "")

opts := ExcludeRulesOptions{
CaseSensitive: true,
Rules: []config.ExcludeRule{
opts := &config.Issues{
ExcludeCaseSensitive: true,
ExcludeRules: []config.ExcludeRule{
{
BaseRule: config.BaseRule{
Text: "^exclude$",
Expand Down Expand Up @@ -252,9 +252,9 @@ func TestExcludeRules_caseSensitive_multiple(t *testing.T) {
}

func TestExcludeRules_caseSensitive_text(t *testing.T) {
opts := ExcludeRulesOptions{
CaseSensitive: true,
Rules: []config.ExcludeRule{
opts := &config.Issues{
ExcludeCaseSensitive: true,
ExcludeRules: []config.ExcludeRule{
{
BaseRule: config.BaseRule{
Text: "^exclude$",
Expand Down Expand Up @@ -288,5 +288,5 @@ func TestExcludeRules_caseSensitive_text(t *testing.T) {
}

func TestExcludeRules_caseSensitive_empty(t *testing.T) {
processAssertSame(t, NewExcludeRules(nil, nil, ExcludeRulesOptions{CaseSensitive: true}), newIssueFromTextTestCase("test"))
processAssertSame(t, NewExcludeRules(nil, nil, &config.Issues{ExcludeCaseSensitive: true}), newIssueFromTextTestCase("test"))
}

0 comments on commit c39f59d

Please sign in to comment.