ext { dockerImage='openjdk:21-slim' } tasks.register('dockerFile') { buildDir.mkdir() var df = new File(buildDir, "Dockerfile") doLast { df.text = """# # I'm auto-generated, please don't make changes to me or commit me to git # # The template exists in docker-service.gradle # FROM ${dockerImage} ADD ${application.applicationName}.tar / ADD crawler-process.tar /dist ADD loader-process.tar /dist ADD converter-process.tar /dist ADD website-adjacencies-calculator.tar /dist ADD index-construction-process.tar /dist RUN mkdir /wmsa ENTRYPOINT WMSA_HOME=/wmsa /${application.applicationName}/bin/${application.applicationName} \${arg0} \${arg1} """ } it.outputs.file(df) } dockerPrepare { dependsOn tasks.dockerFile dependsOn project(':code:processes:website-adjacencies-calculator').distTar dependsOn project(':code:processes:crawling-process').distTar dependsOn project(':code:processes:loading-process').distTar dependsOn project(':code:processes:converting-process').distTar dependsOn project(':code:processes:index-constructor-process').distTar } dockerfileZip { dependsOn tasks.dockerFile } docker { dockerfile = tasks.dockerFile.outputs.files.singleFile name = 'marginalia.nu/'+application.applicationName+':latest' files tasks.distTar.outputs, \ project(':code:processes:crawling-process').distTar.outputs, \ project(':code:processes:loading-process').distTar.outputs, \ project(':code:processes:converting-process').distTar.outputs, \ project(':code:processes:index-constructor-process').distTar.outputs, \ project(':code:processes:website-adjacencies-calculator').distTar.outputs tags 'latest' dependsOn project(':code:processes:crawling-process').distTar dependsOn project(':code:processes:loading-process').distTar dependsOn project(':code:processes:converting-process').distTar dependsOn project(':code:processes:index-constructor-process').distTar dependsOn project(':code:processes:website-adjacencies-calculator').distTar }