| 
									
										
										
										
											2022-12-26 10:09:08 -06:00
										 |  |  | plugins { | 
					
						
							|  |  |  |     id 'com.palantir.docker' | 
					
						
							|  |  |  |     id 'java' // required for versioning
 | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | apply from: "../../gradle/versioning/versioning.gradle" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ext { | 
					
						
							|  |  |  |     docker_repo = 'datahub-elasticsearch-setup' | 
					
						
							|  |  |  |     docker_dir = 'elasticsearch-setup' | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | docker { | 
					
						
							| 
									
										
										
										
											2023-01-31 18:44:37 -06:00
										 |  |  |     name "${docker_registry}/${docker_repo}:v${version}" | 
					
						
							|  |  |  |     version "v${version}" | 
					
						
							| 
									
										
										
										
											2022-12-26 10:09:08 -06:00
										 |  |  |     dockerfile file("${rootProject.projectDir}/docker/${docker_dir}/Dockerfile") | 
					
						
							|  |  |  |     files fileTree(rootProject.projectDir) { | 
					
						
							| 
									
										
										
										
											2023-11-13 16:26:53 -06:00
										 |  |  |         include '.dockerignore' | 
					
						
							| 
									
										
										
										
											2022-12-26 10:09:08 -06:00
										 |  |  |         include "docker/${docker_dir}/*" | 
					
						
							| 
									
										
										
										
											2023-11-13 16:26:53 -06:00
										 |  |  |         include 'metadata-service/restli-servlet-impl/src/main/resources/index/**' | 
					
						
							| 
									
										
										
										
											2023-08-17 00:10:17 -05:00
										 |  |  |     }.exclude { | 
					
						
							| 
									
										
										
										
											2023-11-13 16:26:53 -06:00
										 |  |  |         i -> (!i.file.name.endsWith(".dockerignore") && i.file.isHidden()) | 
					
						
							| 
									
										
										
										
											2022-12-26 10:09:08 -06:00
										 |  |  |     } | 
					
						
							| 
									
										
										
										
											2023-02-16 10:41:42 -06:00
										 |  |  |     tag("Debug", "${docker_registry}/${docker_repo}:debug") | 
					
						
							| 
									
										
										
										
											2022-12-26 10:09:08 -06:00
										 |  |  | 
 | 
					
						
							|  |  |  |     // platform('linux/arm64', 'linux/amd64')
 | 
					
						
							|  |  |  |     buildx(true) | 
					
						
							|  |  |  |     load(true) | 
					
						
							|  |  |  |     push(false) | 
					
						
							| 
									
										
										
										
											2023-11-28 21:52:11 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     // Add build args if they are defined (needed for some CI or enterprise environments)
 | 
					
						
							|  |  |  |     def dockerBuildArgs = [:] | 
					
						
							|  |  |  |     if (project.hasProperty('alpineApkRepositoryUrl')) { | 
					
						
							|  |  |  |         dockerBuildArgs.ALPINE_REPO_URL = project.getProperty('alpineApkRepositoryUrl') | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     if (dockerBuildArgs.size() > 0) { | 
					
						
							|  |  |  |         buildArgs(dockerBuildArgs) | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2022-12-26 10:09:08 -06:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2023-08-17 00:10:17 -05:00
										 |  |  | tasks.getByName('docker').dependsOn('build') | 
					
						
							| 
									
										
										
										
											2022-12-26 10:09:08 -06:00
										 |  |  | 
 | 
					
						
							|  |  |  | task mkdirBuildDocker { | 
					
						
							|  |  |  |     doFirst { | 
					
						
							|  |  |  |         mkdir "${project.buildDir}/docker" | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | dockerClean.finalizedBy(mkdirBuildDocker) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | task cleanLocalDockerImages { | 
					
						
							|  |  |  |     doLast { | 
					
						
							| 
									
										
										
										
											2023-08-17 00:10:17 -05:00
										 |  |  |         rootProject.ext.cleanLocalDockerImages(docker_registry, docker_repo, "${version}") | 
					
						
							| 
									
										
										
										
											2022-12-26 10:09:08 -06:00
										 |  |  |     } | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2023-11-28 21:52:11 +01:00
										 |  |  | dockerClean.finalizedBy(cleanLocalDockerImages) |