|
|
|
@ -1027,11 +1027,34 @@ func toBuildOpt(t *Target, inp *Input) (*build.Options, error) {
|
|
|
|
|
if t.Dockerfile != nil {
|
|
|
|
|
dockerfilePath = *t.Dockerfile
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if !build.IsRemoteURL(contextPath) && !path.IsAbs(dockerfilePath) {
|
|
|
|
|
dockerfilePath = path.Join(contextPath, dockerfilePath)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bi := build.Inputs{
|
|
|
|
|
ContextPath: contextPath,
|
|
|
|
|
DockerfilePath: dockerfilePath,
|
|
|
|
|
NamedContexts: toNamedContexts(t.Contexts),
|
|
|
|
|
}
|
|
|
|
|
if t.DockerfileInline != nil {
|
|
|
|
|
bi.DockerfileInline = *t.DockerfileInline
|
|
|
|
|
}
|
|
|
|
|
updateContext(&bi, inp)
|
|
|
|
|
if strings.HasPrefix(bi.ContextPath, "cwd://") {
|
|
|
|
|
bi.ContextPath = path.Clean(strings.TrimPrefix(bi.ContextPath, "cwd://"))
|
|
|
|
|
}
|
|
|
|
|
for k, v := range bi.NamedContexts {
|
|
|
|
|
if strings.HasPrefix(v.Path, "cwd://") {
|
|
|
|
|
bi.NamedContexts[k] = build.NamedContext{Path: path.Clean(strings.TrimPrefix(v.Path, "cwd://"))}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if err := validateContextsEntitlements(bi, inp); err != nil {
|
|
|
|
|
return nil, err
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
t.Context = &bi.ContextPath
|
|
|
|
|
|
|
|
|
|
args := map[string]string{}
|
|
|
|
|
for k, v := range t.Args {
|
|
|
|
|
if v == nil {
|
|
|
|
@ -1061,30 +1084,6 @@ func toBuildOpt(t *Target, inp *Input) (*build.Options, error) {
|
|
|
|
|
networkMode = *t.NetworkMode
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bi := build.Inputs{
|
|
|
|
|
ContextPath: contextPath,
|
|
|
|
|
DockerfilePath: dockerfilePath,
|
|
|
|
|
NamedContexts: toNamedContexts(t.Contexts),
|
|
|
|
|
}
|
|
|
|
|
if t.DockerfileInline != nil {
|
|
|
|
|
bi.DockerfileInline = *t.DockerfileInline
|
|
|
|
|
}
|
|
|
|
|
updateContext(&bi, inp)
|
|
|
|
|
if strings.HasPrefix(bi.ContextPath, "cwd://") {
|
|
|
|
|
bi.ContextPath = path.Clean(strings.TrimPrefix(bi.ContextPath, "cwd://"))
|
|
|
|
|
}
|
|
|
|
|
for k, v := range bi.NamedContexts {
|
|
|
|
|
if strings.HasPrefix(v.Path, "cwd://") {
|
|
|
|
|
bi.NamedContexts[k] = build.NamedContext{Path: path.Clean(strings.TrimPrefix(v.Path, "cwd://"))}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if err := validateContextsEntitlements(bi, inp); err != nil {
|
|
|
|
|
return nil, err
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
t.Context = &bi.ContextPath
|
|
|
|
|
|
|
|
|
|
bo := &build.Options{
|
|
|
|
|
Inputs: bi,
|
|
|
|
|
Tags: t.Tags,
|
|
|
|
|