From de3694934b71361a3e34b3dec3532ae603713ea3 Mon Sep 17 00:00:00 2001 From: Fernandez Ludovic Date: Sun, 1 Jun 2025 10:52:03 +0200 Subject: [PATCH] dev: handle linters major versions --- pkg/goanalysis/linter.go | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/pkg/goanalysis/linter.go b/pkg/goanalysis/linter.go index 53f5b7bae455..2851bc7ce3c0 100644 --- a/pkg/goanalysis/linter.go +++ b/pkg/goanalysis/linter.go @@ -76,6 +76,25 @@ func (lnt *Linter) WithDesc(desc string) *Linter { return lnt } +func (lnt *Linter) WithVersion(v int) *Linter { + if v == 0 { + return lnt + } + + for _, analyzer := range lnt.analyzers { + if lnt.name != analyzer.Name { + continue + } + + // The analyzer name should be the same as the linter name to avoid displaying the name inside the reports. + analyzer.Name = fmt.Sprintf("%s_v%d", analyzer.Name, v) + } + + lnt.name = fmt.Sprintf("%s_v%d", lnt.name, v) + + return lnt +} + func (lnt *Linter) WithConfig(cfg map[string]any) *Linter { if len(cfg) == 0 { return lnt