Skip to content

Commit f431f61

Browse files
committed
cli/command/inspect: use errors.Join
Use stdlib multi-errors instead of creating our own Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
1 parent 7147e85 commit f431f61

1 file changed

Lines changed: 13 additions & 13 deletions

File tree

cli/command/inspect/inspector.go

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@ package inspect
66
import (
77
"bytes"
88
"encoding/json"
9+
"errors"
10+
"fmt"
911
"io"
10-
"strings"
1112
"text/template"
1213

1314
"github.com/docker/cli/cli"
1415
"github.com/docker/cli/templates"
15-
"github.com/pkg/errors"
1616
"github.com/sirupsen/logrus"
1717
)
1818

@@ -53,7 +53,7 @@ func NewTemplateInspectorFromString(out io.Writer, tmplStr string) (Inspector, e
5353

5454
tmpl, err := templates.Parse(tmplStr)
5555
if err != nil {
56-
return nil, errors.Errorf("template parsing error: %s", err)
56+
return nil, fmt.Errorf("template parsing error: %w", err)
5757
}
5858
return NewTemplateInspector(out, tmpl), nil
5959
}
@@ -70,27 +70,27 @@ func Inspect(out io.Writer, references []string, tmplStr string, getRef GetRefFu
7070
return cli.StatusError{StatusCode: 64, Status: err.Error()}
7171
}
7272

73-
var inspectErrs []string
73+
var errs []error
7474
for _, ref := range references {
7575
element, raw, err := getRef(ref)
7676
if err != nil {
77-
inspectErrs = append(inspectErrs, err.Error())
77+
errs = append(errs, err)
7878
continue
7979
}
8080

8181
if err := inspector.Inspect(element, raw); err != nil {
82-
inspectErrs = append(inspectErrs, err.Error())
82+
errs = append(errs, err)
8383
}
8484
}
8585

8686
if err := inspector.Flush(); err != nil {
8787
logrus.Error(err)
8888
}
8989

90-
if len(inspectErrs) != 0 {
90+
if err := errors.Join(errs...); err != nil {
9191
return cli.StatusError{
9292
StatusCode: 1,
93-
Status: strings.Join(inspectErrs, "\n"),
93+
Status: err.Error(),
9494
}
9595
}
9696
return nil
@@ -103,7 +103,7 @@ func (i *TemplateInspector) Inspect(typedElement any, rawElement []byte) error {
103103
buffer := new(bytes.Buffer)
104104
if err := i.tmpl.Execute(buffer, typedElement); err != nil {
105105
if rawElement == nil {
106-
return errors.Errorf("template parsing error: %v", err)
106+
return fmt.Errorf("template parsing error: %w", err)
107107
}
108108
return i.tryRawInspectFallback(rawElement)
109109
}
@@ -121,13 +121,13 @@ func (i *TemplateInspector) tryRawInspectFallback(rawElement []byte) error {
121121
dec := json.NewDecoder(rdr)
122122
dec.UseNumber()
123123

124-
if rawErr := dec.Decode(&raw); rawErr != nil {
125-
return errors.Errorf("unable to read inspect data: %v", rawErr)
124+
if err := dec.Decode(&raw); err != nil {
125+
return fmt.Errorf("unable to read inspect data: %w", err)
126126
}
127127

128128
tmplMissingKey := i.tmpl.Option("missingkey=error")
129-
if rawErr := tmplMissingKey.Execute(buffer, raw); rawErr != nil {
130-
return errors.Errorf("template parsing error: %v", rawErr)
129+
if err := tmplMissingKey.Execute(buffer, raw); err != nil {
130+
return fmt.Errorf("template parsing error: %w", err)
131131
}
132132

133133
i.buffer.Write(buffer.Bytes())

0 commit comments

Comments
 (0)