@@ -11,6 +11,7 @@ package org.elasticsearch.gradle.fixtures
1111
1212import org.elasticsearch.gradle.Architecture
1313import org.elasticsearch.gradle.ElasticsearchDistribution
14+ import org.elasticsearch.gradle.Version
1415import org.elasticsearch.gradle.VersionProperties
1516import org.gradle.testkit.runner.BuildResult
1617import org.gradle.testkit.runner.GradleRunner
@@ -20,33 +21,50 @@ class DistributionDownloadFixture {
2021 public static final String INIT_SCRIPT = " repositories-init.gradle"
2122
2223 static BuildResult withMockedDistributionDownload (GradleRunner gradleRunner , Closure<BuildResult > buildRunClosure ) {
23- return withMockedDistributionDownload(VersionProperties . getElasticsearch(), ElasticsearchDistribution . CURRENT_PLATFORM ,
24- gradleRunner, buildRunClosure)
24+ return withMockedDistributionDownload(
25+ VersionProperties . getElasticsearch(), ElasticsearchDistribution . CURRENT_PLATFORM ,
26+ gradleRunner, buildRunClosure
27+ )
2528 }
2629
2730 static BuildResult withChangedClasspathMockedDistributionDownload (GradleRunner gradleRunner , Closure<BuildResult > buildRunClosure ) {
28- return doRunWithMockedDistributionDownload(VersionProperties . getElasticsearch(), ElasticsearchDistribution . CURRENT_PLATFORM ,
29- gradleRunner, buildRunClosure, true , false )
31+ return doRunWithMockedDistributionDownload(
32+ VersionProperties . getElasticsearch(), ElasticsearchDistribution . CURRENT_PLATFORM ,
33+ Architecture . current(), gradleRunner, buildRunClosure, true , false
34+ )
3035 }
36+
3137 static BuildResult withChangedConfigMockedDistributionDownload (GradleRunner gradleRunner , Closure<BuildResult > buildRunClosure ) {
32- return doRunWithMockedDistributionDownload(VersionProperties . getElasticsearch(), ElasticsearchDistribution . CURRENT_PLATFORM ,
33- gradleRunner, buildRunClosure, false , true )
38+ return doRunWithMockedDistributionDownload(
39+ VersionProperties . getElasticsearch(), ElasticsearchDistribution . CURRENT_PLATFORM ,
40+ Architecture . current(), gradleRunner, buildRunClosure, false , true
41+ )
42+ }
43+
44+ static BuildResult withMockedDistributionDownload (String version ,
45+ ElasticsearchDistribution.Platform platform ,
46+ Architecture architecture ,
47+ GradleRunner gradleRunner ,
48+ Closure<BuildResult > buildRunClosure ) {
49+ return doRunWithMockedDistributionDownload(version, platform, architecture, gradleRunner, buildRunClosure, false , false )
3450 }
3551
3652 static BuildResult withMockedDistributionDownload (String version , ElasticsearchDistribution.Platform platform ,
3753 GradleRunner gradleRunner , Closure<BuildResult > buildRunClosure ) {
38- return doRunWithMockedDistributionDownload (version, platform, gradleRunner, buildRunClosure, false , false )
54+ return withMockedDistributionDownload (version, platform, Architecture . current(), gradleRunner, buildRunClosure )
3955 }
4056
4157 static BuildResult withChangedClasspathMockedDistributionDownload (String version , ElasticsearchDistribution.Platform platform ,
42- GradleRunner gradleRunner , Closure<BuildResult > buildRunClosure ) {
43- return doRunWithMockedDistributionDownload(version, platform, gradleRunner, buildRunClosure, true , false )
58+ GradleRunner gradleRunner , Closure<BuildResult > buildRunClosure ) {
59+ return doRunWithMockedDistributionDownload(version, platform, Architecture . current(), gradleRunner, buildRunClosure, true , false )
4460 }
4561
46- private static BuildResult doRunWithMockedDistributionDownload (String version , ElasticsearchDistribution.Platform platform ,
62+ private static BuildResult doRunWithMockedDistributionDownload (String version ,
63+ ElasticsearchDistribution.Platform platform ,
64+ Architecture architecture ,
4765 GradleRunner gradleRunner , Closure<BuildResult > buildRunClosure ,
4866 boolean withAddedJar , boolean withAddedConfig ) {
49- String urlPath = urlPath(version, platform);
67+ String urlPath = urlPath(version, platform, architecture );
5068 return WiremockFixture . withWireMock(urlPath, filebytes(urlPath, withAddedJar, withAddedConfig)) { server ->
5169 File initFile = new File (gradleRunner. getProjectDir(), INIT_SCRIPT )
5270 initFile. text = """ allprojects { p ->
@@ -62,10 +80,14 @@ class DistributionDownloadFixture {
6280 }
6381 }
6482
65- private static String urlPath (String version ,ElasticsearchDistribution.Platform platform ) {
66- String fileType = ((platform == ElasticsearchDistribution.Platform . LINUX ||
67- platform == ElasticsearchDistribution.Platform . DARWIN )) ? " tar.gz" : " zip"
68- " /downloads/elasticsearch/elasticsearch-${ version} -${ platform} -${ Architecture.current().classifier} .$fileType "
83+ private static String urlPath (String version , ElasticsearchDistribution.Platform platform , Architecture architecture ) {
84+ String fileType = ((platform == ElasticsearchDistribution.Platform . LINUX || platform ==
85+ ElasticsearchDistribution.Platform . DARWIN )) ? " tar.gz" : " zip"
86+ " /downloads/elasticsearch/elasticsearch-${ version} -${ platform} -${ mapArchitectureToBwcClassifier(version, architecture)} .$fileType "
87+ }
88+
89+ private static String mapArchitectureToBwcClassifier (String version , Architecture architecture ) {
90+ return Version . fromString(version). onOrAfter(" 9.2.0" ) ? architecture. classifier : architecture. bwcClassifier
6991 }
7092
7193 private static byte [] filebytes (String urlPath , boolean withAddedJar , boolean withAddedConfig ) throws IOException {
0 commit comments