99
1010package org.elasticsearch.gradle.internal
1111
12-
1312import spock.lang.Unroll
1413import com.github.tomakehurst.wiremock.WireMockServer
1514
@@ -24,22 +23,19 @@ import java.nio.file.Paths
2423import java.util.regex.Matcher
2524import java.util.regex.Pattern
2625
27- import static org.elasticsearch.gradle.internal.JdkDownloadPlugin.VENDOR_ADOPTIUM
28- import static org.elasticsearch.gradle.internal.JdkDownloadPlugin.VENDOR_OPENJDK
26+ import static org.elasticsearch.gradle.internal.JdkDownloadPlugin.*
2927
3028class JdkDownloadPluginFuncTest extends AbstractGradleFuncTest {
3129
3230 private static final String OPENJDK_VERSION_OLD = " 1+99"
3331 private static final String ADOPT_JDK_VERSION = " 12.0.2+10"
3432 private static final String ADOPT_JDK_VERSION_11 = " 11.0.10+9"
3533 private static final String ADOPT_JDK_VERSION_15 = " 15.0.2+7"
34+ private static final String AZUL_JDK_VERSION_8 = " 8u302+b08"
35+ private static final String AZUL_8_DISTRO_VERSION = " 8.56.0.23"
3636 private static final String OPEN_JDK_VERSION = " 12.0.1+99@123456789123456789123456789abcde"
3737 private static final Pattern JDK_HOME_LOGLINE = Pattern . compile(" JDK HOME: (.*)" )
3838
39- def setup () {
40- configurationCacheCompatible = false
41- }
42-
4339 @Unroll
4440 def " jdk #jdkVendor for #platform#suffix are downloaded and extracted" () {
4541 given :
@@ -56,14 +52,16 @@ class JdkDownloadPluginFuncTest extends AbstractGradleFuncTest {
5652 version = '$jdkVersion '
5753 platform = "$platform "
5854 architecture = '$arch '
55+ distributionVersion = '$distributionVersion '
5956 }
6057 }
6158
62- def theJdks = jdks
59+ // def theJdks = jdks
6360 tasks.register("getJdk") {
6461 dependsOn jdks.myJdk
62+ def jdk = jdks.myJdk
6563 doLast {
66- println "JDK HOME: " + theJdks.myJdk
64+ println "JDK HOME: " + jdk
6765 }
6866 }
6967 """
@@ -78,22 +76,23 @@ class JdkDownloadPluginFuncTest extends AbstractGradleFuncTest {
7876 assertExtraction(result. output, expectedJavaBin);
7977
8078 where :
81- platform | arch | jdkVendor | jdkVersion | expectedJavaBin | suffix
82- " linux" | " x64" | VENDOR_ADOPTIUM | ADOPT_JDK_VERSION | " bin/java" | " "
83- " linux" | " x64" | VENDOR_OPENJDK | OPEN_JDK_VERSION | " bin/java" | " "
84- " linux" | " x64" | VENDOR_OPENJDK | OPENJDK_VERSION_OLD | " bin/java" | " (old version)"
85- " windows" | " x64" | VENDOR_ADOPTIUM | ADOPT_JDK_VERSION | " bin/java" | " "
86- " windows" | " x64" | VENDOR_OPENJDK | OPEN_JDK_VERSION | " bin/java" | " "
87- " windows" | " x64" | VENDOR_OPENJDK | OPENJDK_VERSION_OLD | " bin/java" | " (old version)"
88- " darwin" | " x64" | VENDOR_ADOPTIUM | ADOPT_JDK_VERSION | " Contents/Home/bin/java" | " "
89- " darwin" | " x64" | VENDOR_OPENJDK | OPEN_JDK_VERSION | " Contents/Home/bin/java" | " "
90- " darwin" | " x64" | VENDOR_OPENJDK | OPENJDK_VERSION_OLD | " Contents/Home/bin/java" | " (old version)"
91- " mac" | " x64" | VENDOR_OPENJDK | OPEN_JDK_VERSION | " Contents/Home/bin/java" | " "
92- " mac" | " x64" | VENDOR_OPENJDK | OPENJDK_VERSION_OLD | " Contents/Home/bin/java" | " (old version)"
93- " darwin" | " aarch64" | VENDOR_ADOPTIUM | ADOPT_JDK_VERSION | " Contents/Home/bin/java" | " "
94- " linux" | " aarch64" | VENDOR_ADOPTIUM | ADOPT_JDK_VERSION | " bin/java" | " "
95- " linux" | " aarch64" | VENDOR_ADOPTIUM | ADOPT_JDK_VERSION_11 | " bin/java" | " (jdk 11)"
96- " linux" | " aarch64" | VENDOR_ADOPTIUM | ADOPT_JDK_VERSION_15 | " bin/java" | " (jdk 15)"
79+ platform | arch | jdkVendor | jdkVersion | distributionVersion | expectedJavaBin | suffix
80+ " linux" | " x64" | VENDOR_ADOPTIUM | ADOPT_JDK_VERSION | null | " bin/java" | " "
81+ " linux" | " x64" | VENDOR_OPENJDK | OPEN_JDK_VERSION | null | " bin/java" | " "
82+ " linux" | " x64" | VENDOR_OPENJDK | OPENJDK_VERSION_OLD | null | " bin/java" | " (old version)"
83+ " windows" | " x64" | VENDOR_ADOPTIUM | ADOPT_JDK_VERSION | null | " bin/java" | " "
84+ " windows" | " x64" | VENDOR_OPENJDK | OPEN_JDK_VERSION | null | " bin/java" | " "
85+ " windows" | " x64" | VENDOR_OPENJDK | OPENJDK_VERSION_OLD | null | " bin/java" | " (old version)"
86+ " darwin" | " x64" | VENDOR_ADOPTIUM | ADOPT_JDK_VERSION | null | " Contents/Home/bin/java" | " "
87+ " darwin" | " x64" | VENDOR_OPENJDK | OPEN_JDK_VERSION | null | " Contents/Home/bin/java" | " "
88+ " darwin" | " x64" | VENDOR_OPENJDK | OPENJDK_VERSION_OLD | null | " Contents/Home/bin/java" | " (old version)"
89+ " mac" | " x64" | VENDOR_OPENJDK | OPEN_JDK_VERSION | null | " Contents/Home/bin/java" | " "
90+ " mac" | " x64" | VENDOR_OPENJDK | OPENJDK_VERSION_OLD | null | " Contents/Home/bin/java" | " (old version)"
91+ " darwin" | " aarch64" | VENDOR_ADOPTIUM | ADOPT_JDK_VERSION | null | " Contents/Home/bin/java" | " "
92+ " linux" | " aarch64" | VENDOR_ADOPTIUM | ADOPT_JDK_VERSION | null | " bin/java" | " "
93+ " linux" | " aarch64" | VENDOR_ADOPTIUM | ADOPT_JDK_VERSION_11 | null | " bin/java" | " (jdk 11)"
94+ " linux" | " aarch64" | VENDOR_ADOPTIUM | ADOPT_JDK_VERSION_15 | null | " bin/java" | " (jdk 15)"
95+ " darwin" | " aarch64" | VENDOR_ZULU | AZUL_JDK_VERSION_8 | AZUL_8_DISTRO_VERSION | " Contents/Home/bin/java" | " (jdk 8)"
9796 }
9897
9998 def " transforms are reused across projects" () {
@@ -118,9 +117,10 @@ class JdkDownloadPluginFuncTest extends AbstractGradleFuncTest {
118117 }
119118 }
120119 tasks.register("getJdk") {
121- dependsOn jdks.myJdk
120+ def jdk = jdks.myJdk
121+ dependsOn jdk
122122 doLast {
123- println "JDK HOME: " + jdks.myJdk
123+ println "JDK HOME: " + jdk
124124 }
125125 }
126126 """
@@ -137,7 +137,7 @@ class JdkDownloadPluginFuncTest extends AbstractGradleFuncTest {
137137 result. output. count(" Unpacking linux-12.0.2-x64.tar.gz using ${ SymbolicLinkPreservingUntarTransform.simpleName} " ) == 1
138138
139139 where :
140- platform | jdkVendor | jdkVersion | expectedJavaBin
140+ platform | jdkVendor | jdkVersion | expectedJavaBin
141141 " linux" | VENDOR_ADOPTIUM | ADOPT_JDK_VERSION | " bin/java"
142142 }
143143
@@ -159,6 +159,7 @@ class JdkDownloadPluginFuncTest extends AbstractGradleFuncTest {
159159 vendor = '$VENDOR_ADOPTIUM '
160160 version = '$ADOPT_JDK_VERSION '
161161 platform = "$platform "
162+ distributionVersion = '$ADOPT_JDK_VERSION '
162163 architecture = "x64"
163164 }
164165 }
@@ -204,6 +205,8 @@ class JdkDownloadPluginFuncTest extends AbstractGradleFuncTest {
204205 assert matcher. find() == true ;
205206 String jdkHome = matcher. group(1 );
206207 Path javaPath = Paths . get(jdkHome, javaBin);
208+ println " canonical " + javaPath. toFile(). getCanonicalPath()
209+ Paths . get(jdkHome). toFile(). listFiles(). each { println it }
207210 assert Files . exists(javaPath) == true ;
208211 true
209212 }
@@ -221,15 +224,26 @@ class JdkDownloadPluginFuncTest extends AbstractGradleFuncTest {
221224 final String versionPath = isOld ? " jdk1/99" : " jdk12.0.1/123456789123456789123456789abcde/99" ;
222225 final String filename = " openjdk-" + (isOld ? " 1" : " 12.0.1" ) + " _" + effectivePlatform + " -x64_bin." + extension(platform);
223226 return " /java/GA/" + versionPath + " /GPL/" + filename;
227+ } else if (vendor. equals(VENDOR_ZULU )) {
228+ // we only have a single version of zulu currently in the tests
229+ return " /zulu/bin/zulu8.56.0.23-ca-jdk8.0.302-macosx_aarch64.tar.gz"
224230 }
225231 }
226232
227233 private static byte [] filebytes (final String vendor , final String platform ) throws IOException {
228234 final String effectivePlatform = getPlatform(vendor, platform);
229235 if (vendor. equals(VENDOR_ADOPTIUM )) {
230- return JdkDownloadPluginFuncTest . class. getResourceAsStream(" fake_adoptium_" + effectivePlatform + " ." + extension(platform)). getBytes()
236+ return JdkDownloadPluginFuncTest . class. getResourceAsStream(
237+ " fake_adoptium_" + effectivePlatform + " ." + extension(platform)
238+ ). getBytes()
231239 } else if (vendor. equals(VENDOR_OPENJDK )) {
232- JdkDownloadPluginFuncTest . class. getResourceAsStream(" fake_openjdk_" + effectivePlatform + " ." + extension(platform)). getBytes()
240+ return JdkDownloadPluginFuncTest . class. getResourceAsStream(
241+ " fake_openjdk_" + effectivePlatform + " ." + extension(platform)
242+ ). getBytes()
243+ } else {
244+ // zulu
245+ String resourcePath = " fake_zulu_" + effectivePlatform + " ." + extension(platform)
246+ return JdkDownloadPluginFuncTest . class. getResourceAsStream(resourcePath). getBytes()
233247 }
234248 }
235249
0 commit comments