Skip to content

Commit 10c03d7

Browse files
authored
feat: use run.relative-path-mode for output format paths (#5363)
1 parent fc94060 commit 10c03d7

File tree

3 files changed

+12
-6
lines changed

3 files changed

+12
-6
lines changed

pkg/commands/run.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ func (c *runCommand) preRunE(_ *cobra.Command, args []string) error {
194194

195195
c.dbManager = dbManager
196196

197-
printer, err := printers.NewPrinter(c.log, &c.cfg.Output, c.reportData)
197+
printer, err := printers.NewPrinter(c.log, &c.cfg.Output, c.reportData, c.cfg.GetBasePath())
198198
if err != nil {
199199
return err
200200
}

pkg/printers/printer.go

+7-1
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ type issuePrinter interface {
2525
type Printer struct {
2626
cfg *config.Output
2727
reportData *report.Data
28+
basePath string
2829

2930
log logutils.Log
3031

@@ -33,7 +34,7 @@ type Printer struct {
3334
}
3435

3536
// NewPrinter creates a new Printer.
36-
func NewPrinter(log logutils.Log, cfg *config.Output, reportData *report.Data) (*Printer, error) {
37+
func NewPrinter(log logutils.Log, cfg *config.Output, reportData *report.Data, basePath string) (*Printer, error) {
3738
if log == nil {
3839
return nil, errors.New("missing log argument in constructor")
3940
}
@@ -47,6 +48,7 @@ func NewPrinter(log logutils.Log, cfg *config.Output, reportData *report.Data) (
4748
return &Printer{
4849
cfg: cfg,
4950
reportData: reportData,
51+
basePath: basePath,
5052
log: log,
5153
stdOut: logutils.StdOut,
5254
stdErr: logutils.StdErr,
@@ -98,6 +100,10 @@ func (c *Printer) createWriter(path string) (io.Writer, bool, error) {
98100
return c.stdErr, false, nil
99101
}
100102

103+
if !filepath.IsAbs(path) {
104+
path = filepath.Join(c.basePath, path)
105+
}
106+
101107
err := os.MkdirAll(filepath.Dir(path), os.ModePerm)
102108
if err != nil {
103109
return nil, false, err

pkg/printers/printer_test.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ func TestPrinter_Print_stdout(t *testing.T) {
6767
t.Run(test.desc, func(t *testing.T) {
6868
t.Parallel()
6969

70-
p, err := NewPrinter(logger, test.cfg, data)
70+
p, err := NewPrinter(logger, test.cfg, data, "")
7171
require.NoError(t, err)
7272

7373
var stdOutBuffer bytes.Buffer
@@ -106,7 +106,7 @@ func TestPrinter_Print_stderr(t *testing.T) {
106106
},
107107
}
108108

109-
p, err := NewPrinter(logger, cfg, data)
109+
p, err := NewPrinter(logger, cfg, data, "")
110110
require.NoError(t, err)
111111

112112
var stdOutBuffer bytes.Buffer
@@ -145,7 +145,7 @@ func TestPrinter_Print_file(t *testing.T) {
145145
},
146146
}
147147

148-
p, err := NewPrinter(logger, cfg, data)
148+
p, err := NewPrinter(logger, cfg, data, "")
149149
require.NoError(t, err)
150150

151151
var stdOutBuffer bytes.Buffer
@@ -197,7 +197,7 @@ func TestPrinter_Print_multiple(t *testing.T) {
197197
},
198198
}
199199

200-
p, err := NewPrinter(logger, cfg, data)
200+
p, err := NewPrinter(logger, cfg, data, "")
201201
require.NoError(t, err)
202202

203203
var stdOutBuffer bytes.Buffer

0 commit comments

Comments
 (0)