progress: add new BuildLog option

This commit adds a new `BuildLog` option to the `OSBuildOptions`
that can be used to generate a streamed buildlog (e.g. to a file
or a websocket).

This will be used in `ibcli` with a new `--with-buildlog` option.
This commit is contained in:
Michael Vogt 2025-02-06 19:38:22 +01:00 committed by Simon de Vlieger
parent a875a16309
commit 7ac659490c
5 changed files with 210 additions and 5 deletions

View file

@ -0,0 +1,22 @@
package progress
import (
"io"
"sync"
)
type syncedWriter struct {
mu *sync.Mutex
w io.Writer
}
func newSyncedWriter(mu *sync.Mutex, w io.Writer) io.Writer {
return &syncedWriter{mu: mu, w: w}
}
func (sw *syncedWriter) Write(p []byte) (n int, err error) {
sw.mu.Lock()
defer sw.mu.Unlock()
return sw.w.Write(p)
}