maybe fix docker build for kafka pipe?? again????

This commit is contained in:
Adam 2022-01-09 18:48:32 +01:00
parent 27c8088f41
commit 1439e81628

View file

@ -1,3 +1,4 @@
import org.jetbrains.kotlin.incremental.md5
import org.jetbrains.kotlin.util.parseSpaceSeparatedArgs import org.jetbrains.kotlin.util.parseSpaceSeparatedArgs
plugins { plugins {
@ -8,6 +9,11 @@ description = "Send events from a Factorio server to a Kafka topic "
val dockerSrcDir: Directory by extra val dockerSrcDir: Directory by extra
fun Directory.filesChecksum() = asFileTree
.files
.map { it.readBytes() + it.absolutePath.toByteArray() }
.fold(byteArrayOf()) { acc, bytes -> acc + bytes }
.md5()
tasks.dockerUp { tasks.dockerUp {
dependsOn(":modules:infra-kafka-cluster:dockerUp") dependsOn(":modules:infra-kafka-cluster:dockerUp")
@ -21,21 +27,30 @@ val dockerBuildKafkaPipe by tasks.registering(Exec::class) {
dependsOn(tasks.dockerEnv) dependsOn(tasks.dockerEnv)
inputs.dir(dockerSrcDir) inputs.dir(dockerSrcDir)
inputs.property("dockerSrcDirChecksum") { dockerSrcDir.filesChecksum() }
val imageIdFile = file("$temporaryDir/docker-image-id.txt") outputs.upToDateWhen {
outputs.file(imageIdFile) it.inputs.properties["dockerSrcDirChecksum"] as? Long? == dockerSrcDir.filesChecksum()
}
// val imageIdFile = file("$temporaryDir/docker-image-id.txt")
// outputs.file(imageIdFile)
workingDir = dockerSrcDir.asFile workingDir = dockerSrcDir.asFile
commandLine = parseSpaceSeparatedArgs(""" docker-compose build kafka-pipe """) commandLine = parseSpaceSeparatedArgs(""" docker-compose build kafka-pipe """)
doLast { // doLast {
imageIdFile.outputStream().use { os -> // sync {
exec { // from(dockerSrcDir)
workingDir = dockerSrcDir.asFile // into(temporaryDir)
commandLine = parseSpaceSeparatedArgs(""" docker-compose images -q kafka-pipe """) // }
standardOutput = os // imageIdFile.outputStream().use { os ->
} // exec {
} // workingDir = dockerSrcDir.asFile
} // commandLine = parseSpaceSeparatedArgs(""" docker-compose images -q kafka-pipe """)
// standardOutput = os
// }
// }
//}
} }
tasks.assemble { dependsOn(dockerBuildKafkaPipe) } tasks.assemble { dependsOn(dockerBuildKafkaPipe) }