MCPcopy Create free account
hub / github.com/docker/buildx / run

Method run

util/progress/printer.go:154–175  ·  view source on GitHub ↗
(ctx context.Context, d progressui.Display)

Source from the content-addressed store, hash-verified

152}
153
154func (p *Printer) run(ctx context.Context, d progressui.Display) {
155 defer close(p.done)
156 defer close(p.interrupt)
157
158 var ss []*client.SolveStatus
159 for {
160 switch p.state {
161 case printerStatePaused:
162 ss, p.err = p.bufferDisplay(ctx, ss)
163 case printerStateRunning:
164 p.warnings, ss, p.err = p.updateDisplay(ctx, d, ss)
165 if p.opt.onclose != nil {
166 p.opt.onclose()
167 }
168 }
169
170 if p.state == printerStateDone {
171 break
172 }
173 d, _ = p.newDisplay()
174 }
175}
176
177func (p *Printer) newDisplay() (progressui.Display, error) {
178 return progressui.NewDisplay(p.out, p.mode, p.opt.displayOpts...)

Callers 2

NewPrinterFunction · 0.95
openMethod · 0.45

Calls 3

bufferDisplayMethod · 0.95
updateDisplayMethod · 0.95
newDisplayMethod · 0.95

Tested by

no test coverage detected