chore(deps): bump github.com/moby/buildkit to 0.17.3

This commit is contained in:
CrazyMax
2024-12-19 17:38:32 +01:00
parent 61dac9fbfc
commit f0b4c3f2a4
44 changed files with 2284 additions and 376 deletions

View File

@@ -14,7 +14,7 @@ import (
type Client struct {
ast *parser.Node
stages []instructions.Stage
metaArgs []instructions.KeyValuePairOptional
metaArgs shell.EnvGetter
shlex *shell.Lex
}
@@ -35,26 +35,28 @@ func New(opts Options) (*Client, error) {
return nil, errors.Wrapf(err, "cannot parse Dockerfile %s", opts.Filename)
}
stages, metaArgs, err := instructions.Parse(parsed.AST)
stages, metaArgs, err := instructions.Parse(parsed.AST, nil)
if err != nil {
return nil, errors.Wrapf(err, "cannot parse stages for Dockerfile %s", opts.Filename)
}
var kvpoArgs []instructions.KeyValuePairOptional
var kvpoArgs []string
shlex := shell.NewLex(parsed.EscapeToken)
for _, cmd := range metaArgs {
for _, metaArg := range cmd.Args {
if metaArg.Value != nil {
*metaArg.Value, _ = shlex.ProcessWordWithMap(*metaArg.Value, metaArgsToMap(kvpoArgs))
if name, _, err := shlex.ProcessWord(*metaArg.Value, shell.EnvsFromSlice(kvpoArgs)); err == nil {
metaArg.Value = &name
}
}
kvpoArgs = append(kvpoArgs, metaArg)
kvpoArgs = append(kvpoArgs, metaArg.String())
}
}
return &Client{
ast: parsed.AST,
stages: stages,
metaArgs: kvpoArgs,
metaArgs: shell.EnvsFromSlice(kvpoArgs),
shlex: shlex,
}, nil
}
@@ -67,11 +69,3 @@ func (c *Client) isStageName(name string) bool {
}
return false
}
func metaArgsToMap(metaArgs []instructions.KeyValuePairOptional) map[string]string {
m := map[string]string{}
for _, arg := range metaArgs {
m[arg.Key] = arg.ValueString()
}
return m
}

View File

@@ -38,7 +38,7 @@ func (c *Client) FromImages() (Images, error) {
return nil, errors.Wrapf(err, "cannot parse instruction")
}
if baseName := ins.(*instructions.Stage).BaseName; baseName != "scratch" {
name, err := c.shlex.ProcessWordWithMap(baseName, metaArgsToMap(c.metaArgs))
name, _, err := c.shlex.ProcessWord(baseName, c.metaArgs)
if err != nil {
return nil, err
}
@@ -59,7 +59,7 @@ func (c *Client) FromImages() (Images, error) {
return nil, errors.Wrapf(err, "cannot parse command")
}
if copyFrom := cmd.(*instructions.CopyCommand).From; copyFrom != "null" {
name, err := c.shlex.ProcessWordWithMap(copyFrom, metaArgsToMap(c.metaArgs))
name, _, err := c.shlex.ProcessWord(copyFrom, c.metaArgs)
if err != nil {
return nil, err
}
@@ -85,7 +85,7 @@ func (c *Client) FromImages() (Images, error) {
if mount.Type != instructions.MountTypeBind || len(mount.From) == 0 {
continue
}
name, err := c.shlex.ProcessWordWithMap(mount.From, metaArgsToMap(c.metaArgs))
name, _, err := c.shlex.ProcessWord(mount.From, c.metaArgs)
if err != nil {
return nil, err
}