Sebastiaan van Stijn
2024-06-04 11:33:43 +02:00
parent dbdd3601eb
commit 9358f84668
146 changed files with 2661 additions and 1102 deletions

View File

@ -1,6 +1,7 @@
package progress
import (
"maps"
"sort"
"sync"
"time"
@ -83,9 +84,7 @@ func (ps *MultiWriter) WriteRawProgress(p *Progress) error {
meta := p.meta
if len(ps.meta) > 0 {
meta = map[string]interface{}{}
for k, v := range p.meta {
meta[k] = v
}
maps.Copy(meta, p.meta)
for k, v := range ps.meta {
if _, ok := meta[k]; !ok {
meta[k] = v

View File

@ -3,6 +3,7 @@ package progress
import (
"context"
"io"
"maps"
"sort"
"sync"
"time"
@ -207,9 +208,7 @@ func pipe() (*progressReader, *progressWriter, func(error)) {
func newWriter(pw *progressWriter) *progressWriter {
meta := make(map[string]interface{})
for k, v := range pw.meta {
meta[k] = v
}
maps.Copy(meta, pw.meta)
pw = &progressWriter{
reader: pw.reader,
meta: meta,
@ -240,9 +239,7 @@ func (pw *progressWriter) WriteRawProgress(p *Progress) error {
meta := p.meta
if len(pw.meta) > 0 {
meta = map[string]interface{}{}
for k, v := range p.meta {
meta[k] = v
}
maps.Copy(meta, p.meta)
for k, v := range pw.meta {
if _, ok := meta[k]; !ok {
meta[k] = v

View File

@ -1,13 +1,13 @@
package progressui
import (
"encoding/csv"
"errors"
"strconv"
"strings"
"github.com/moby/buildkit/util/bklog"
"github.com/morikuni/aec"
"github.com/tonistiigi/go-csvvalue"
)
var termColorMap = map[string]aec.ANSI{
@ -59,9 +59,9 @@ func setUserDefinedTermColors(colorsEnv string) {
}
func readBuildkitColorsEnv(colorsEnv string) []string {
csvReader := csv.NewReader(strings.NewReader(colorsEnv))
csvReader := csvvalue.NewParser()
csvReader.Comma = ':'
fields, err := csvReader.Read()
fields, err := csvReader.Fields(colorsEnv, nil)
if err != nil {
bklog.L.WithError(err).Warnf("Could not parse BUILDKIT_COLORS. Falling back to defaults.")
return nil
@ -70,8 +70,7 @@ func readBuildkitColorsEnv(colorsEnv string) []string {
}
func readRGB(v string) aec.ANSI {
csvReader := csv.NewReader(strings.NewReader(v))
fields, err := csvReader.Read()
fields, err := csvvalue.Fields(v, nil)
if err != nil {
bklog.L.WithError(err).Warnf("Could not parse value %s as valid comma-separated RGB color. Ignoring.", v)
return nil