From a5e2fd817e8c990259b2ebb8a9f12f09a6d52632 Mon Sep 17 00:00:00 2001
From: Ludovic Fernandez <ldez@users.noreply.github.com>
Date: Mon, 18 Mar 2024 00:36:05 +0100
Subject: [PATCH] dev: remove Run.Args (#4525)

---
 pkg/commands/run.go | 6 ++----
 pkg/config/run.go   | 3 ---
 pkg/lint/runner.go  | 4 ++--
 3 files changed, 4 insertions(+), 9 deletions(-)

diff --git a/pkg/commands/run.go b/pkg/commands/run.go
index 854c9d6b..48d4ef8c 100644
--- a/pkg/commands/run.go
+++ b/pkg/commands/run.go
@@ -369,8 +369,6 @@ func (c *runCommand) runAndPrint(ctx context.Context, args []string) error {
 
 // runAnalysis executes the linters that have been enabled in the configuration.
 func (c *runCommand) runAnalysis(ctx context.Context, args []string) ([]result.Issue, error) {
-	c.cfg.Run.Args = args
-
 	lintersToRun, err := c.dbManager.GetOptimizedLinters()
 	if err != nil {
 		return nil, err
@@ -381,8 +379,8 @@ func (c *runCommand) runAnalysis(ctx context.Context, args []string) ([]result.I
 		return nil, fmt.Errorf("context loading failed: %w", err)
 	}
 
-	runner, err := lint.NewRunner(c.log.Child(logutils.DebugKeyRunner),
-		c.cfg, c.goenv, c.lineCache, c.fileCache, c.dbManager, lintCtx)
+	runner, err := lint.NewRunner(c.log.Child(logutils.DebugKeyRunner), c.cfg, args,
+		c.goenv, c.lineCache, c.fileCache, c.dbManager, lintCtx)
 	if err != nil {
 		return nil, err
 	}
diff --git a/pkg/config/run.go b/pkg/config/run.go
index 0aeb4295..1531ab88 100644
--- a/pkg/config/run.go
+++ b/pkg/config/run.go
@@ -33,9 +33,6 @@ type Run struct {
 
 	// Deprecated: use Output.ShowStats instead.
 	ShowStats bool `mapstructure:"show-stats"`
-
-	// Only used by skipDirs processor. TODO(ldez) remove it in next PR.
-	Args []string // Internal needs.
 }
 
 func (r *Run) Validate() error {
diff --git a/pkg/lint/runner.go b/pkg/lint/runner.go
index 4c8a1f9e..92045581 100644
--- a/pkg/lint/runner.go
+++ b/pkg/lint/runner.go
@@ -32,7 +32,7 @@ type Runner struct {
 	Processors []processors.Processor
 }
 
-func NewRunner(log logutils.Log, cfg *config.Config, goenv *goutil.Env,
+func NewRunner(log logutils.Log, cfg *config.Config, args []string, goenv *goutil.Env,
 	lineCache *fsutils.LineCache, fileCache *fsutils.FileCache,
 	dbManager *lintersdb.Manager, lintCtx *linter.Context,
 ) (*Runner, error) {
@@ -51,7 +51,7 @@ func NewRunner(log logutils.Log, cfg *config.Config, goenv *goutil.Env,
 		skipDirs = append(skipDirs, packages.StdExcludeDirRegexps...)
 	}
 
-	skipDirsProcessor, err := processors.NewSkipDirs(skipDirs, log.Child(logutils.DebugKeySkipDirs), cfg.Run.Args, cfg.Output.PathPrefix)
+	skipDirsProcessor, err := processors.NewSkipDirs(skipDirs, log.Child(logutils.DebugKeySkipDirs), args, cfg.Output.PathPrefix)
 	if err != nil {
 		return nil, err
 	}