8
8
9
9
"github.com/pkg/errors"
10
10
11
- "github.com/golangci/golangci-lint/pkg/fsutils"
12
11
"github.com/golangci/golangci-lint/pkg/logutils"
13
12
"github.com/golangci/golangci-lint/pkg/result"
14
13
)
@@ -75,11 +74,11 @@ func (p *SkipDirs) Process(issues []result.Issue) ([]result.Issue, error) {
75
74
return filterIssues (issues , p .shouldPassIssue ), nil
76
75
}
77
76
78
- func (p * SkipDirs ) getLongestArgRelativeIssuePath (i * result.Issue ) ( string , string ) {
77
+ func (p * SkipDirs ) getLongestArgRelativeIssuePath (i * result.Issue ) string {
79
78
issueAbsPath , err := filepath .Abs (i .FilePath ())
80
79
if err != nil {
81
80
p .log .Warnf ("Can't abs-ify path %q: %s" , i .FilePath (), err )
82
- return "" , ""
81
+ return ""
83
82
}
84
83
85
84
for _ , arg := range p .sortedAbsArgs {
@@ -89,15 +88,15 @@ func (p *SkipDirs) getLongestArgRelativeIssuePath(i *result.Issue) (string, stri
89
88
90
89
relPath := strings .TrimPrefix (issueAbsPath , arg )
91
90
relPath = strings .TrimPrefix (relPath , string (filepath .Separator ))
92
- return relPath , arg
91
+ return relPath
93
92
}
94
93
95
94
p .log .Infof ("Issue path %q isn't relative to any of run args" , i .FilePath ())
96
- return "" , ""
95
+ return ""
97
96
}
98
97
99
98
func (p * SkipDirs ) shouldPassIssue (i * result.Issue ) bool {
100
- relIssuePath , issueArg := p .getLongestArgRelativeIssuePath (i )
99
+ relIssuePath := p .getLongestArgRelativeIssuePath (i )
101
100
if relIssuePath == "" {
102
101
return true
103
102
}
@@ -106,21 +105,10 @@ func (p *SkipDirs) shouldPassIssue(i *result.Issue) bool {
106
105
relIssuePath = filepath .Dir (relIssuePath )
107
106
}
108
107
109
- relIssueDirParts := strings .Split (relIssuePath , string (filepath .Separator ))
110
-
111
108
for _ , pattern := range p .patterns {
112
- skippedDir := issueArg
113
- for _ , part := range relIssueDirParts {
114
- skippedDir = filepath .Join (skippedDir , part )
115
- if pattern .MatchString (part ) {
116
- relSkippedDir , err := fsutils .ShortestRelPath (skippedDir , "" )
117
- if err != nil {
118
- p .log .Warnf ("Can't construct short relative path for %q: %s" , skippedDir , err )
119
- return true
120
- }
121
- p .skippedDirs [relSkippedDir ] = true
122
- return false
123
- }
109
+ if pattern .MatchString (relIssuePath ) {
110
+ p .skippedDirs [relIssuePath ] = true
111
+ return false
124
112
}
125
113
}
126
114
0 commit comments