in deps.go [109:144]
func (r *PackageRepositoryConfig) processBuildArgs(lex *shell.Lex, args map[string]string, allowArg func(string) bool) error {
if r == nil {
return nil
}
var errs []error
for k := range r.Config {
src := r.Config[k]
if err := src.processBuildArgs(lex, args, allowArg); err != nil {
errs = append(errs, errors.Wrapf(err, "config %s", k))
continue
}
r.Config[k] = src
}
for k := range r.Keys {
src := r.Keys[k]
if err := src.processBuildArgs(lex, args, allowArg); err != nil {
errs = append(errs, errors.Wrapf(err, "key %s", k))
continue
}
r.Keys[k] = src
}
for i := range r.Data {
d := r.Data[i]
if err := d.processBuildArgs(lex, args, allowArg); err != nil {
errs = append(errs, errors.Wrapf(err, "data index %d", i))
continue
}
r.Data[i] = d
}
return goerrors.Join(errs...)
}