package progress

import "github.com/docker/buildx/util/progress"

Index

Functions

func NewChannel

func NewChannel(w Writer) (chan *client.SolveStatus, chan struct{})

func Wrap

func Wrap(name string, l Logger, fn func(SubLogger) error) (err error)

func Write

func Write(w Writer, name string, f func() error) error

func WriteBuildRef

func WriteBuildRef(w Writer, target string, ref string)

Types

type Logger

type Logger func(*client.SolveStatus)

type Printer

type Printer struct {
	// contains filtered or unexported fields
}

func NewPrinter

func NewPrinter(ctx context.Context, out console.File, mode progressui.DisplayMode, opts ...PrinterOpt) (*Printer, error)

func (*Printer) BuildRefs

func (p *Printer) BuildRefs() map[string]string

func (*Printer) ClearLogSource

func (p *Printer) ClearLogSource(v any)

func (*Printer) IsDone

func (p *Printer) IsDone() bool

func (*Printer) Pause

func (p *Printer) Pause() error

func (*Printer) Unpause

func (p *Printer) Unpause()

func (*Printer) ValidateLogSource

func (p *Printer) ValidateLogSource(dgst digest.Digest, v any) bool

func (*Printer) Wait

func (p *Printer) Wait() error

func (*Printer) Warnings

func (p *Printer) Warnings() []client.VertexWarning

func (*Printer) Write

func (p *Printer) Write(s *client.SolveStatus)

func (*Printer) WriteBuildRef

func (p *Printer) WriteBuildRef(target string, ref string)

type PrinterOpt

type PrinterOpt func(b *printerOpts)

func WithDesc

func WithDesc(text string, console string) PrinterOpt

func WithMetrics

func WithMetrics(mp metric.MeterProvider, attrs attribute.Set) PrinterOpt

func WithOnClose

func WithOnClose(onclose func()) PrinterOpt

func WithPhase

func WithPhase(phase string) PrinterOpt

type SubLogger

type SubLogger interface {
	Wrap(name string, fn func() error) error
	Log(stream int, dt []byte)
	SetStatus(*client.VertexStatus)
}

type Writer

type Writer interface {
	Write(*client.SolveStatus)
	WriteBuildRef(string, string)
	ValidateLogSource(digest.Digest, any) bool
	ClearLogSource(any)
}

func ResetTime

func ResetTime(in Writer) Writer

func Tee

func Tee(w Writer, ch chan *client.SolveStatus) Writer

func WithPrefix

func WithPrefix(w Writer, pfx string, force bool) Writer

Source Files

metricwriter.go multiwriter.go printer.go progress.go reset.go writer.go

Version
v0.22.0 (latest)
Published
Mar 17, 2025
Platform
js/wasm
Imports
20 packages
Last checked
3 weeks ago

Tools for package owners.