@@ -40,6 +40,7 @@ public class BuildImageCmdImpl extends AbstrDockerCmd<BuildImageCmd, InputStream
4040 .compile ("^ENV\\ s+(.*)\\ s+(.*)$" );
4141
4242 private InputStream tarInputStream = null ;
43+ private File tarFile = null ;
4344 private String tag ;
4445 private boolean noCache ;
4546 private boolean remove = true ;
@@ -48,7 +49,13 @@ public class BuildImageCmdImpl extends AbstrDockerCmd<BuildImageCmd, InputStream
4849 public BuildImageCmdImpl (BuildImageCmd .Exec exec , File dockerFolder ) {
4950 super (exec );
5051 Preconditions .checkNotNull (dockerFolder , "dockerFolder is null" );
51- withTarInputStream (buildDockerFolderTar (dockerFolder ));
52+ tarFile = buildDockerFolderTar (dockerFolder );
53+ try {
54+ withTarInputStream (FileUtils .openInputStream (tarFile ));
55+ } catch (IOException e ) {
56+ // we just created the file this should never happen.
57+ throw new RuntimeException (e );
58+ }
5259 }
5360
5461 public BuildImageCmdImpl (BuildImageCmd .Exec exec , InputStream tarInputStream ) {
@@ -129,6 +136,14 @@ public BuildImageCmdImpl withQuiet(boolean quiet) {
129136 return this ;
130137 }
131138
139+ @ Override
140+ public void close () throws IOException {
141+ super .close ();
142+ if (tarFile != null ) {
143+ FileUtils .deleteQuietly (tarFile );
144+ }
145+ }
146+
132147 @ Override
133148 public String toString () {
134149 return new StringBuilder ("build " )
@@ -139,7 +154,7 @@ public String toString() {
139154 .toString ();
140155 }
141156
142- protected InputStream buildDockerFolderTar (File dockerFolder ) {
157+ protected File buildDockerFolderTar (File dockerFolder ) {
143158 Preconditions .checkArgument (dockerFolder .exists (),
144159 "Path %s doesn't exist" , dockerFolder );
145160 Preconditions .checkArgument (dockerFolder .isDirectory (),
@@ -255,9 +270,8 @@ protected InputStream buildDockerFolderTar(File dockerFolder) {
255270 }
256271 }
257272
258- dockerFolderTar = CompressArchiveUtil .archiveTARFiles (dockerFolder ,
273+ return CompressArchiveUtil .archiveTARFiles (dockerFolder ,
259274 filesToAdd , archiveNameWithOutExtension );
260- return FileUtils .openInputStream (dockerFolderTar );
261275 } catch (IOException ex ) {
262276 FileUtils .deleteQuietly (dockerFolderTar );
263277 throw new DockerClientException (
0 commit comments