diff --git a/go.mod b/go.mod index 51b3cdf609f4..d9f6ad03679f 100644 --- a/go.mod +++ b/go.mod @@ -36,7 +36,7 @@ require ( github.com/go-xmlfmt/xmlfmt v1.1.2 github.com/gofrs/flock v0.8.1 github.com/golangci/check v0.0.0-20180506172741-cfe4005ccda2 - github.com/golangci/depguard/v2 v2.0.2-0.20230601235138-ed68d3771f48 + github.com/golangci/depguard/v2 v2.0.2-0.20230602133032-4f22f8585733 github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a github.com/golangci/go-misc v0.0.0-20220329215616-d24fe342adfe github.com/golangci/gofmt v0.0.0-20220901101216-f2edd75033f2 diff --git a/go.sum b/go.sum index cb18c403b1d8..739b50a819d8 100644 --- a/go.sum +++ b/go.sum @@ -211,8 +211,8 @@ github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiu github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golangci/check v0.0.0-20180506172741-cfe4005ccda2 h1:23T5iq8rbUYlhpt5DB4XJkc6BU31uODLD1o1gKvZmD0= github.com/golangci/check v0.0.0-20180506172741-cfe4005ccda2/go.mod h1:k9Qvh+8juN+UKMCS/3jFtGICgW8O96FVaZsaxdzDkR4= -github.com/golangci/depguard/v2 v2.0.2-0.20230601235138-ed68d3771f48 h1:7HCx5L1RlH1KRijM95B57+ZraC7ddDW331jKPQY0iF4= -github.com/golangci/depguard/v2 v2.0.2-0.20230601235138-ed68d3771f48/go.mod h1:e28gyM56ocHUQq3sLM1+C0iCx6NTPupOboWMllp1E/8= +github.com/golangci/depguard/v2 v2.0.2-0.20230602133032-4f22f8585733 h1:8JUsvfXgBTLXGNvwL8QTYe4rmkeJUoiiqA+bAREQsBU= +github.com/golangci/depguard/v2 v2.0.2-0.20230602133032-4f22f8585733/go.mod h1:e28gyM56ocHUQq3sLM1+C0iCx6NTPupOboWMllp1E/8= github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a h1:w8hkcTqaFpzKqonE9uMCefW1WDie15eSP/4MssdenaM= github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a/go.mod h1:ryS0uhF+x9jgbj/N71xsEqODy9BN81/GonCZiOzirOk= github.com/golangci/go-misc v0.0.0-20220329215616-d24fe342adfe h1:6RGUuS7EGotKx6J5HIP8ZtyMdiDscjMLfRBSPuzVVeo= diff --git a/pkg/golinters/depguard.go b/pkg/golinters/depguard.go index 3da76dddb94a..4eefac99c7db 100644 --- a/pkg/golinters/depguard.go +++ b/pkg/golinters/depguard.go @@ -6,6 +6,7 @@ import ( "github.com/golangci/golangci-lint/pkg/config" "github.com/golangci/golangci-lint/pkg/golinters/goanalysis" + "github.com/golangci/golangci-lint/pkg/lint/linter" ) func NewDepguard(settings *config.DepGuardSettings) *goanalysis.Linter { @@ -32,15 +33,19 @@ func NewDepguard(settings *config.DepGuardSettings) *goanalysis.Linter { } } - a, err := depguard.NewAnalyzer(&conf) - if err != nil { - linterLogger.Fatalf("depguard: create analyzer: %v", err) - } + a := depguard.NewCoreAnalyzer(depguard.CoreSettings{}) return goanalysis.NewLinter( a.Name, a.Doc, []*analysis.Analyzer{a}, nil, - ).WithLoadMode(goanalysis.LoadModeSyntax) + ).WithContextSetter(func(lintCtx *linter.Context) { + coreSettings, err := conf.Compile() + if err != nil { + lintCtx.Log.Errorf("create analyzer: %v", err) + } + + a.Run = coreSettings.Run + }).WithLoadMode(goanalysis.LoadModeSyntax) }