|
|
|
@ -1,15 +1,19 @@
|
|
|
|
|
package progress
|
|
|
|
|
package dockerutil
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"errors"
|
|
|
|
|
"io"
|
|
|
|
|
"time"
|
|
|
|
|
|
|
|
|
|
"github.com/docker/buildx/util/progress"
|
|
|
|
|
"github.com/docker/cli/cli/streams"
|
|
|
|
|
"github.com/docker/docker/pkg/jsonmessage"
|
|
|
|
|
"github.com/moby/buildkit/client"
|
|
|
|
|
"github.com/moby/buildkit/identity"
|
|
|
|
|
"github.com/opencontainers/go-digest"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
func FromReader(w Writer, name string, rc io.ReadCloser) {
|
|
|
|
|
func fromReader(w progress.Writer, name string, rc io.ReadCloser) error {
|
|
|
|
|
dgst := digest.FromBytes([]byte(identity.NewID()))
|
|
|
|
|
tm := time.Now()
|
|
|
|
|
|
|
|
|
@ -23,7 +27,12 @@ func FromReader(w Writer, name string, rc io.ReadCloser) {
|
|
|
|
|
Vertexes: []*client.Vertex{&vtx},
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
_, err := io.Copy(io.Discard, rc)
|
|
|
|
|
err := jsonmessage.DisplayJSONMessagesToStream(rc, streams.NewOut(io.Discard), nil)
|
|
|
|
|
if err != nil {
|
|
|
|
|
if jerr, ok := err.(*jsonmessage.JSONError); ok {
|
|
|
|
|
err = errors.New(jerr.Message)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
tm2 := time.Now()
|
|
|
|
|
vtx2 := vtx
|
|
|
|
@ -34,4 +43,5 @@ func FromReader(w Writer, name string, rc io.ReadCloser) {
|
|
|
|
|
w.Write(&client.SolveStatus{
|
|
|
|
|
Vertexes: []*client.Vertex{&vtx2},
|
|
|
|
|
})
|
|
|
|
|
return err
|
|
|
|
|
}
|