use csvvalue package for parsing csv inputs

This package is better suited for parsing single-line
CSV strings.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
This commit is contained in:
Tonis Tiigi
2024-06-27 20:31:23 -07:00
parent af902caeaa
commit f7a32361ea
9 changed files with 19 additions and 26 deletions

View File

@ -1,13 +1,13 @@
package buildflags
import (
"encoding/csv"
"fmt"
"strconv"
"strings"
controllerapi "github.com/docker/buildx/controller/pb"
"github.com/pkg/errors"
"github.com/tonistiigi/go-csvvalue"
)
func CanonicalizeAttest(attestType string, in string) string {
@ -45,8 +45,7 @@ func ParseAttest(in string) (*controllerapi.Attest, error) {
return nil, nil
}
csvReader := csv.NewReader(strings.NewReader(in))
fields, err := csvReader.Read()
fields, err := csvvalue.Fields(in, nil)
if err != nil {
return nil, err
}

View File

@ -2,20 +2,19 @@ package buildflags
import (
"context"
"encoding/csv"
"os"
"strings"
awsconfig "github.com/aws/aws-sdk-go-v2/config"
controllerapi "github.com/docker/buildx/controller/pb"
"github.com/pkg/errors"
"github.com/tonistiigi/go-csvvalue"
)
func ParseCacheEntry(in []string) ([]*controllerapi.CacheOptionsEntry, error) {
outs := make([]*controllerapi.CacheOptionsEntry, 0, len(in))
for _, in := range in {
csvReader := csv.NewReader(strings.NewReader(in))
fields, err := csvReader.Read()
fields, err := csvvalue.Fields(in, nil)
if err != nil {
return nil, err
}

View File

@ -1,7 +1,6 @@
package buildflags
import (
"encoding/csv"
"regexp"
"strings"
@ -11,6 +10,7 @@ import (
"github.com/moby/buildkit/exporter/containerimage/exptypes"
ocispecs "github.com/opencontainers/image-spec/specs-go/v1"
"github.com/pkg/errors"
"github.com/tonistiigi/go-csvvalue"
)
func ParseExports(inp []string) ([]*controllerapi.ExportEntry, error) {
@ -19,8 +19,7 @@ func ParseExports(inp []string) ([]*controllerapi.ExportEntry, error) {
return nil, nil
}
for _, s := range inp {
csvReader := csv.NewReader(strings.NewReader(s))
fields, err := csvReader.Read()
fields, err := csvvalue.Fields(s, nil)
if err != nil {
return nil, err
}

View File

@ -1,12 +1,12 @@
package buildflags
import (
"encoding/csv"
"strconv"
"strings"
controllerapi "github.com/docker/buildx/controller/pb"
"github.com/pkg/errors"
"github.com/tonistiigi/go-csvvalue"
)
const defaultPrintFunc = "build"
@ -16,8 +16,7 @@ func ParsePrintFunc(str string) (*controllerapi.PrintFunc, error) {
return nil, nil
}
csvReader := csv.NewReader(strings.NewReader(str))
fields, err := csvReader.Read()
fields, err := csvvalue.Fields(str, nil)
if err != nil {
return nil, err
}

View File

@ -1,11 +1,11 @@
package buildflags
import (
"encoding/csv"
"strings"
controllerapi "github.com/docker/buildx/controller/pb"
"github.com/pkg/errors"
"github.com/tonistiigi/go-csvvalue"
)
func ParseSecretSpecs(sl []string) ([]*controllerapi.Secret, error) {
@ -21,8 +21,7 @@ func ParseSecretSpecs(sl []string) ([]*controllerapi.Secret, error) {
}
func parseSecret(value string) (*controllerapi.Secret, error) {
csvReader := csv.NewReader(strings.NewReader(value))
fields, err := csvReader.Read()
fields, err := csvvalue.Fields(value, nil)
if err != nil {
return nil, errors.Wrap(err, "failed to parse csv secret")
}