| package errdefs |
| |
| import ( |
| proto "github.com/golang/protobuf/proto" |
| "github.com/moby/buildkit/util/grpcerrors" |
| digest "github.com/opencontainers/go-digest" |
| ) |
| |
| func init() { |
| proto.RegisterType((*Vertex)(nil), "errdefs.Vertex") |
| proto.RegisterType((*Source)(nil), "errdefs.Source") |
| } |
| |
| type VertexError struct { |
| Vertex |
| error |
| } |
| |
| func (e *VertexError) Unwrap() error { |
| return e.error |
| } |
| |
| func (e *VertexError) ToProto() grpcerrors.TypedErrorProto { |
| return &e.Vertex |
| } |
| |
| func WrapVertex(err error, dgst digest.Digest) error { |
| if err == nil { |
| return nil |
| } |
| return &VertexError{Vertex: Vertex{Digest: dgst.String()}, error: err} |
| } |
| |
| func (v *Vertex) WrapError(err error) error { |
| return &VertexError{error: err, Vertex: *v} |
| } |