Skip to content

Commit 48dfdbc

Browse files
committed
fix: improve internal Metalinter build
1 parent 45053ec commit 48dfdbc

File tree

1 file changed

+15
-11
lines changed

1 file changed

+15
-11
lines changed

pkg/lint/lintersdb/manager.go

+15-11
Original file line numberDiff line numberDiff line change
@@ -204,18 +204,30 @@ func (m *Manager) build(enabledByDefaultLinters []*linter.Config) map[string]*li
204204
}
205205

206206
func (m *Manager) combineGoAnalysisLinters(linters map[string]*linter.Config) {
207+
mlConfig := &linter.Config{}
208+
207209
var goanalysisLinters []*goanalysis.Linter
208210
goanalysisPresets := map[string]bool{}
211+
209212
for _, lc := range linters {
210213
lnt, ok := lc.Linter.(*goanalysis.Linter)
211214
if !ok {
212215
continue
213216
}
217+
214218
if lnt.LoadMode() == goanalysis.LoadModeWholeProgram {
215219
// It's ineffective by CPU and memory to run whole-program and incremental analyzers at once.
216220
continue
217221
}
222+
223+
mlConfig.LoadMode |= lc.LoadMode
224+
225+
if lc.IsSlowLinter() {
226+
mlConfig.ConsiderSlow()
227+
}
228+
218229
goanalysisLinters = append(goanalysisLinters, lnt)
230+
219231
for _, p := range lc.InPresets {
220232
goanalysisPresets[p] = true
221233
}
@@ -245,22 +257,14 @@ func (m *Manager) combineGoAnalysisLinters(linters map[string]*linter.Config) {
245257
return a.Name() <= b.Name()
246258
})
247259

248-
ml := goanalysis.NewMetaLinter(goanalysisLinters)
260+
mlConfig.Linter = goanalysis.NewMetaLinter(goanalysisLinters)
249261

250262
presets := maps.Keys(goanalysisPresets)
251263
sort.Strings(presets)
264+
mlConfig.InPresets = presets
252265

253-
mlConfig := &linter.Config{
254-
Linter: ml,
255-
EnabledByDefault: false,
256-
InPresets: presets,
257-
AlternativeNames: nil,
258-
OriginalURL: "",
259-
}
260-
261-
mlConfig = mlConfig.WithLoadForGoAnalysis()
266+
linters[mlConfig.Linter.Name()] = mlConfig
262267

263-
linters[ml.Name()] = mlConfig
264268
m.debugf("Combined %d go/analysis linters into one metalinter", len(goanalysisLinters))
265269
}
266270

0 commit comments

Comments
 (0)