Skip to content

Commit b521b0f

Browse files
combine refactor sections
Topic: refactor-for-podman Signed-off-by: andrew <andrew@anyscale.com>
1 parent cbee168 commit b521b0f

File tree

2 files changed

+9
-68
lines changed

2 files changed

+9
-68
lines changed

wanda/container_cmd.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,11 @@ func (c *baseContainerCmd) tag(src, asTag string) error {
105105
}
106106

107107
func (c *baseContainerCmd) build(in *buildInput, core *buildInputCore, hints *buildInputHints) error {
108+
return c.doBuild(in, core, hints, nil)
109+
}
110+
111+
// doBuild is the common build implementation that accepts extra flags.
112+
func (c *baseContainerCmd) doBuild(in *buildInput, core *buildInputCore, hints *buildInputHints, extraFlags []string) error {
108113
if hints == nil {
109114
hints = newBuildInputHints(nil)
110115
}
@@ -132,6 +137,7 @@ func (c *baseContainerCmd) build(in *buildInput, core *buildInputCore, hints *bu
132137
// Build the image.
133138
var args []string
134139
args = append(args, "build")
140+
args = append(args, extraFlags...)
135141
args = append(args, "-f", core.Dockerfile)
136142

137143
for _, t := range in.tagList() {

wanda/docker_cmd.go

Lines changed: 3 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,7 @@ package wanda
22

33
import (
44
"fmt"
5-
"log"
65
"os"
7-
"sort"
8-
"strings"
96
)
107

118
func dockerCmdEnvs() []string {
@@ -66,71 +63,9 @@ func NewDockerCmd(config *DockerCmdConfig) ContainerCmd {
6663

6764
// build overrides baseContainerCmd.build to add --progress=plain for BuildKit.
6865
func (c *dockerCmd) build(in *buildInput, core *buildInputCore, hints *buildInputHints) error {
69-
if hints == nil {
70-
hints = newBuildInputHints(nil)
71-
}
72-
73-
// Pull down the required images, and tag them properly.
74-
var froms []string
75-
for from := range core.Froms {
76-
froms = append(froms, from)
77-
}
78-
sort.Strings(froms)
79-
80-
for _, from := range froms {
81-
src, ok := in.froms[from]
82-
if !ok {
83-
return fmt.Errorf("missing base image source for %q", from)
84-
}
85-
if src.local != "" { // local image, already ready.
86-
continue
87-
}
88-
if err := c.pull(src.src, src.name); err != nil {
89-
return fmt.Errorf("pull %s(%s): %w", src.name, src.src, err)
90-
}
91-
}
92-
// TODO(aslonnie): maybe recheck all the IDs of the from images?
93-
94-
// Build the image.
95-
var args []string
96-
args = append(args, "build")
66+
var extraFlags []string
9767
if !c.useLegacyEngine {
98-
args = append(args, "--progress=plain")
99-
}
100-
args = append(args, "-f", core.Dockerfile)
101-
102-
for _, t := range in.tagList() {
103-
args = append(args, "-t", t)
68+
extraFlags = append(extraFlags, "--progress=plain")
10469
}
105-
106-
buildArgs := make(map[string]string)
107-
for k, v := range hints.BuildArgs {
108-
buildArgs[k] = v
109-
}
110-
// non-hint args can overwrite hint args
111-
for k, v := range core.BuildArgs {
112-
buildArgs[k] = v
113-
}
114-
115-
var buildArgKeys []string
116-
for k := range buildArgs {
117-
buildArgKeys = append(buildArgKeys, k)
118-
}
119-
sort.Strings(buildArgKeys)
120-
for _, k := range buildArgKeys {
121-
v := buildArgs[k]
122-
args = append(args, "--build-arg", fmt.Sprintf("%s=%s", k, v))
123-
}
124-
125-
// read context from stdin
126-
args = append(args, "-")
127-
128-
log.Printf("%s %s", c.bin, strings.Join(args, " "))
129-
130-
buildCmd := c.cmd(args...)
131-
if in.context != nil {
132-
buildCmd.Stdin = newWriterToReader(in.context)
133-
}
134-
135-
return buildCmd.Run()
70+
return c.doBuild(in, core, hints, extraFlags)
13671
}

0 commit comments

Comments
 (0)