1+ import org.elasticsearch.gradle.Architecture
12import org.elasticsearch.gradle.LoggedExec
23import org.elasticsearch.gradle.VersionProperties
34import org.elasticsearch.gradle.internal.DockerBase
@@ -9,7 +10,6 @@ import org.elasticsearch.gradle.internal.docker.ShellRetry
910import org.elasticsearch.gradle.internal.docker.TransformLog4jConfigFilter
1011import org.elasticsearch.gradle.internal.docker.*
1112import org.elasticsearch.gradle.util.GradleUtils
12- import org.elasticsearch.gradle.Architecture
1313import java.nio.file.Path
1414import java.time.temporal.ChronoUnit
1515
@@ -99,9 +99,9 @@ String tiniArch = Architecture.current() == Architecture.AARCH64 ? 'arm64' : 'am
9999
100100dependencies {
101101 aarch64DockerSource project(" :distribution:archives:linux-aarch64-tar" )
102- aarch64DockerSourceTar project(path : " :distribution:archives:linux-aarch64-tar" , configuration : " default" )
102+ aarch64DockerSourceTar project(path : " :distribution:archives:linux-aarch64-tar" , configuration :" default" )
103103 dockerSource project(" :distribution:archives:linux-tar" )
104- dockerSourceTar project(path : " :distribution:archives:linux-tar" , configuration : " default" )
104+ dockerSourceTar project(path : " :distribution:archives:linux-tar" , configuration :" default" )
105105 log4jConfig project(path : " :distribution" , configuration : ' log4jConfig' )
106106 tini " krallin:tini:0.19.0:${ tiniArch} "
107107 allPlugins project(path : ' :plugins' , configuration : ' allPlugins' )
@@ -112,7 +112,7 @@ dependencies {
112112}
113113
114114ext. expansions = { Architecture architecture , DockerBase base ->
115- def (major, minor) = VersionProperties . elasticsearch. split(" \\ ." )
115+ def (major,minor) = VersionProperties . elasticsearch. split(" \\ ." )
116116
117117 // We tag our Docker images with various pieces of information, including a timestamp
118118 // for when the image was built. However, this makes it impossible completely cache
@@ -216,8 +216,7 @@ elasticsearch_distributions {
216216}
217217
218218interface Injected {
219- @Inject
220- FileSystemOperations getFs ()
219+ @Inject FileSystemOperations getFs ()
221220}
222221
223222tasks. named(" preProcessFixture" ). configure {
@@ -327,9 +326,9 @@ void addTransformDockerContextTask(Architecture architecture, DockerBase base) {
327326 into " ${ project.buildDir} /docker-context/${ archiveName} "
328327
329328 // Since we replaced the remote URL in the Dockerfile, copy in the required file
330- if (base == DockerBase . IRON_BANK ) {
329+ if (base == DockerBase . IRON_BANK ) {
331330 from(architecture == Architecture . AARCH64 ? configurations. aarch64DockerSourceTar : configurations. dockerSourceTar)
332- from(configurations. tini) {
331+ from (configurations. tini) {
333332 rename { _ -> ' tini' }
334333 }
335334 } else {
@@ -339,10 +338,7 @@ void addTransformDockerContextTask(Architecture architecture, DockerBase base) {
339338 expansions(architecture, base). findAll { it. key != ' build_date' }. each { k , v ->
340339 inputs. property(k, { v. toString() })
341340 }
342- Provider<DockerSupportService > serviceProvider = GradleUtils . getBuildService(
343- project. gradle. sharedServices,
344- DockerSupportPlugin . DOCKER_SUPPORT_SERVICE_NAME
345- )
341+ Provider<DockerSupportService > serviceProvider = GradleUtils . getBuildService(project. gradle. sharedServices, DockerSupportPlugin . DOCKER_SUPPORT_SERVICE_NAME )
346342 onlyIf(" $architecture supported" ) { serviceProvider. get(). isArchitectureSupported(architecture) }
347343 }
348344
@@ -366,7 +362,7 @@ private static List<String> generateTags(DockerBase base, Architecture architect
366362 String image = " elasticsearch${ base.suffix} "
367363
368364 String namespace = ' elasticsearch'
369- if (base == DockerBase . CLOUD_ESS || base == DockerBase . WOLFI_ESS ) {
365+ if (base == DockerBase . CLOUD_ESS ) {
370366 namespace + = ' -ci'
371367 }
372368
@@ -416,10 +412,7 @@ void addBuildDockerImageTask(Architecture architecture, DockerBase base) {
416412 baseImages = [base. image]
417413 }
418414
419- Provider<DockerSupportService > serviceProvider = GradleUtils . getBuildService(
420- project. gradle. sharedServices,
421- DockerSupportPlugin . DOCKER_SUPPORT_SERVICE_NAME
422- )
415+ Provider<DockerSupportService > serviceProvider = GradleUtils . getBuildService(project. gradle. sharedServices, DockerSupportPlugin . DOCKER_SUPPORT_SERVICE_NAME )
423416 onlyIf(" $architecture supported" ) { serviceProvider. get(). isArchitectureSupported(architecture) }
424417
425418 }
@@ -431,12 +424,13 @@ void addBuildDockerImageTask(Architecture architecture, DockerBase base) {
431424 }
432425}
433426
434- void addBuildEssDockerImageTask (Architecture architecture , DockerBase dockerBase ) {
427+ void addBuildEssDockerImageTask (Architecture architecture ) {
428+ DockerBase base = DockerBase . CLOUD_ESS
435429 String arch = architecture == Architecture . AARCH64 ? ' -aarch64' : ' '
436- String contextDir = " ${ project.buildDir} /docker-context/elasticsearch${ dockerBase .suffix} -${ VersionProperties.elasticsearch} -docker-build-context${ arch} "
430+ String contextDir = " ${ project.buildDir} /docker-context/elasticsearch${ base .suffix} -${ VersionProperties.elasticsearch} -docker-build-context${ arch} "
437431
438432 final TaskProvider<Sync > buildContextTask =
439- tasks. register(taskName(' build' , architecture, dockerBase , ' DockerContext' ), Sync ) {
433+ tasks. register(taskName(' build' , architecture, base , ' DockerContext' ), Sync ) {
440434 into contextDir
441435
442436 final Path projectDir = project. projectDir. toPath()
@@ -445,54 +439,28 @@ void addBuildEssDockerImageTask(Architecture architecture, DockerBase dockerBase
445439 from configurations. allPlugins
446440 }
447441
448- if (dockerBase == DockerBase . WOLFI_ESS ) {
449- // If we're performing a release build, but `build.id` hasn't been set, we can
450- // infer that we're not at the Docker building stage of the build, and therefore
451- // we should skip the beats part of the build.
452- String buildId = providers. systemProperty(' build.id' ). getOrNull()
453- boolean includeBeats = VersionProperties . isElasticsearchSnapshot() == true || buildId != null || useDra
454-
455- if (includeBeats) {
456- from configurations. getByName(" filebeat_${ architecture.classifier} " )
457- from configurations. getByName(" metricbeat_${ architecture.classifier} " )
458- }
459- // For some reason, the artifact name can differ depending on what repository we used.
460- rename ~/ ((?:file|metric)beat)-.*\. tar\. gz$/ , " \$ 1-${ VersionProperties.elasticsearch} .tar.gz"
461- }
462-
463- String baseSuffix = dockerBase == DockerBase . CLOUD_ESS ? DockerBase . CLOUD . suffix : DockerBase . WOLFI . suffix
464- from(projectDir. resolve(" src/docker/Dockerfile.ess" )) {
465- expand(
466- [
467- base_image : " elasticsearch${ baseSuffix} :${ architecture.classifier} " ,
468- docker_base : " ${ dockerBase.name().toLowerCase()} " ,
469- version : " ${ VersionProperties.elasticsearch} " ,
470- retry : ShellRetry
471- ]
472- )
442+ from(projectDir. resolve(" src/docker/Dockerfile.cloud-ess" )) {
443+ expand([
444+ base_image : " elasticsearch${ DockerBase.CLOUD.suffix} :${ architecture.classifier} "
445+ ])
473446 filter SquashNewlinesFilter
474- rename ~/ Dockerfile\. ess$/ , ' Dockerfile'
447+ rename ~/ Dockerfile\. cloud- ess$/ , ' Dockerfile'
475448 }
476449 }
477450
478451 final TaskProvider<DockerBuildTask > buildDockerImageTask =
479- tasks. register(taskName(" build" , architecture, dockerBase, " DockerImage" ), DockerBuildTask ) {
480-
481- DockerBase base = dockerBase == DockerBase . CLOUD_ESS ? DockerBase . CLOUD : DockerBase . WOLFI
452+ tasks. register(taskName(" build" , architecture, base, " DockerImage" ), DockerBuildTask ) {
482453
483- TaskProvider<DockerBuildTask > buildBaseTask = tasks. named(taskName(" build" , architecture, base , " DockerImage" ))
484- inputs. files(buildBaseTask )
454+ TaskProvider<DockerBuildTask > buildCloudTask = tasks. named(taskName(" build" , architecture, DockerBase . CLOUD , " DockerImage" ))
455+ inputs. files(buildCloudTask )
485456
486457 dockerContext. fileProvider(buildContextTask. map { it. getDestinationDir() })
487458
488459 noCache = buildParams. isCi()
489460 baseImages = []
490- tags = generateTags(dockerBase , architecture)
461+ tags = generateTags(base , architecture)
491462 platforms. add(architecture. dockerPlatform)
492- Provider<DockerSupportService > serviceProvider = GradleUtils . getBuildService(
493- project. gradle. sharedServices,
494- DockerSupportPlugin . DOCKER_SUPPORT_SERVICE_NAME
495- )
463+ Provider<DockerSupportService > serviceProvider = GradleUtils . getBuildService(project. gradle. sharedServices, DockerSupportPlugin . DOCKER_SUPPORT_SERVICE_NAME )
496464 onlyIf(" $architecture supported" ) { serviceProvider. get(). isArchitectureSupported(architecture) }
497465
498466 }
@@ -504,16 +472,15 @@ void addBuildEssDockerImageTask(Architecture architecture, DockerBase dockerBase
504472
505473for (final Architecture architecture : Architecture . values()) {
506474 for (final DockerBase base : DockerBase . values()) {
507- if (base == DockerBase . CLOUD_ESS || base == DockerBase . WOLFI_ESS ) {
475+ if (base == DockerBase . CLOUD_ESS ) {
508476 continue
509477 }
510478 addBuildDockerContextTask(architecture, base)
511479 addTransformDockerContextTask(architecture, base)
512480 addBuildDockerImageTask(architecture, base)
513481 }
514482
515- addBuildEssDockerImageTask(architecture, DockerBase . CLOUD_ESS )
516- addBuildEssDockerImageTask(architecture, DockerBase . WOLFI_ESS )
483+ addBuildEssDockerImageTask(architecture)
517484}
518485
519486def exportDockerImages = tasks. register(" exportDockerImages" )
@@ -544,8 +511,7 @@ subprojects { Project subProject ->
544511 (base == DockerBase . IRON_BANK ? ' ironbank.tar' :
545512 (base == DockerBase . CLOUD_ESS ? ' cloud-ess.tar' :
546513 (base == DockerBase . WOLFI ? ' wolfi.tar' :
547- (base == DockerBase . WOLFI_ESS ? ' wolfi-ess.tar' :
548- ' docker.tar' ))));
514+ ' docker.tar' )))
549515 final String artifactName = " elasticsearch${ arch}${ base.suffix} _test"
550516
551517 final String exportTaskName = taskName(" export" , architecture, base, ' DockerImage' )
@@ -561,10 +527,7 @@ subprojects { Project subProject ->
561527 tarFile,
562528 " elasticsearch${ base.suffix} :${ architecture.classifier} "
563529 dependsOn(parent. path + " :" + buildTaskName)
564- Provider<DockerSupportService > serviceProvider = GradleUtils . getBuildService(
565- project. gradle. sharedServices,
566- DockerSupportPlugin . DOCKER_SUPPORT_SERVICE_NAME
567- )
530+ Provider<DockerSupportService > serviceProvider = GradleUtils . getBuildService(project. gradle. sharedServices, DockerSupportPlugin . DOCKER_SUPPORT_SERVICE_NAME )
568531 onlyIf(" $architecture supported" ) { serviceProvider. get(). isArchitectureSupported(architecture) }
569532 }
570533
0 commit comments