diff --git a/pkg/printers/printer.go b/pkg/printers/printer.go index ba2bd2d39f74..f41129853594 100644 --- a/pkg/printers/printer.go +++ b/pkg/printers/printer.go @@ -5,6 +5,7 @@ import ( "fmt" "io" "os" + "path/filepath" "strings" "github.com/golangci/golangci-lint/pkg/config" @@ -99,6 +100,11 @@ func (c *Printer) createWriter(path string) (io.Writer, bool, error) { return c.stdErr, false, nil } + err := os.MkdirAll(filepath.Dir(path), os.ModePerm) + if err != nil { + return nil, false, err + } + f, err := os.OpenFile(path, os.O_CREATE|os.O_TRUNC|os.O_WRONLY, defaultFileMode) if err != nil { return nil, false, err