@@ -2,10 +2,7 @@ package wanda
22
33import (
44 "fmt"
5- "log"
65 "os"
7- "sort"
8- "strings"
96)
107
118func dockerCmdEnvs () []string {
@@ -66,71 +63,9 @@ func NewDockerCmd(config *DockerCmdConfig) ContainerCmd {
6663
6764// build overrides baseContainerCmd.build to add --progress=plain for BuildKit.
6865func (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