From 224f47172ae15def7cf985b312c199b062cfa157 Mon Sep 17 00:00:00 2001 From: Ryan Ernst Date: Mon, 25 Nov 2019 17:22:29 -0800 Subject: [PATCH 1/2] Make docker build task incremental This commits sets an output marker file for the docker build tasks so that it can be tracked as up to date. It also fixes the docker build context task to omit the build date as in input property which always left the task as out of date. relates #49359 --- distribution/docker/build.gradle | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/distribution/docker/build.gradle b/distribution/docker/build.gradle index 87af010d238ac..975c32860e1ef 100644 --- a/distribution/docker/build.gradle +++ b/distribution/docker/build.gradle @@ -72,7 +72,7 @@ project.ext { void addCopyDockerContextTask(final boolean oss, final boolean ubi) { task(taskName("copy", oss, ubi, "DockerContext"), type: Sync) { - expansions(oss, ubi, true).each { k, v -> + expansions(oss, ubi, true).findAll { it.key != 'build_date' }.each { k, v -> inputs.property(k, { v.toString() }) } into buildPath(oss, ubi) @@ -173,6 +173,11 @@ void addBuildDockerImage(final boolean oss, final boolean ubi) { dockerArgs.add(tag) } args dockerArgs.toArray() + File markerFile = file("build/markers/${it.name}.marker") + outputs.file(markerFile) + doLast { + markerFile.setText('', 'UTF-8') + } } assemble.dependsOn(buildDockerImageTask) BuildPlugin.requireDocker(buildDockerImageTask) From 46a3777f4d02fa2de4ab713fa2f28c640764d308 Mon Sep 17 00:00:00 2001 From: Ryan Ernst Date: Wed, 27 Nov 2019 10:37:32 -0800 Subject: [PATCH 2/2] feedback --- distribution/docker/build.gradle | 1 + 1 file changed, 1 insertion(+) diff --git a/distribution/docker/build.gradle b/distribution/docker/build.gradle index 975c32860e1ef..da940f17b0f98 100644 --- a/distribution/docker/build.gradle +++ b/distribution/docker/build.gradle @@ -214,6 +214,7 @@ subprojects { Project subProject -> final Task exportDockerImageTask = task(exportTaskName, type: LoggedExec) { executable 'docker' + outputs.file(tarFile) args "save", "-o", tarFile,