build: support statuscode response for print requests

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
This commit is contained in:
Tonis Tiigi
2024-04-12 17:36:49 -07:00
parent df7a3db947
commit 46c44c58ae
6 changed files with 156 additions and 131 deletions

View File

@ -2,6 +2,7 @@ package buildflags
import (
"encoding/csv"
"strconv"
"strings"
controllerapi "github.com/docker/buildx/controller/pb"
@ -21,9 +22,16 @@ func ParsePrintFunc(str string) (*controllerapi.PrintFunc, error) {
for _, field := range fields {
parts := strings.SplitN(field, "=", 2)
if len(parts) == 2 {
if parts[0] == "format" {
switch parts[0] {
case "format":
f.Format = parts[1]
} else {
case "ignorestatus":
v, err := strconv.ParseBool(parts[1])
if err != nil {
return nil, errors.Wrapf(err, "invalid ignorestatus print value: %s", parts[1])
}
f.IgnoreStatus = v
default:
return nil, errors.Errorf("invalid print field: %s", field)
}
} else {