diff --git a/build.gradle.kts b/build.gradle.kts index 3dc12a70df2..7f1a112ccea 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -130,6 +130,7 @@ extra["JDK_18"] = jdkPath("1.8") extra["JDK_9"] = jdkPath("9") extra["JDK_10"] = jdkPath("10") extra["JDK_11"] = jdkPath("11") +extra["JDK_15"] = jdkPath("15") // allow opening the project without setting up all env variables (see KT-26413) if (!kotlinBuildProperties.isInIdeaSync) { diff --git a/buildSrc/src/main/kotlin/jdksFinder.kt b/buildSrc/src/main/kotlin/jdksFinder.kt index 6c2216304e4..3ed259ae7a7 100644 --- a/buildSrc/src/main/kotlin/jdksFinder.kt +++ b/buildSrc/src/main/kotlin/jdksFinder.kt @@ -10,12 +10,12 @@ import net.rubygrapefruit.platform.WindowsRegistry.Key.HKEY_LOCAL_MACHINE import org.gradle.internal.os.OperatingSystem enum class JdkMajorVersion(private val mandatory: Boolean = true) { - JDK_16, JDK_17, JDK_18, JDK_9, JDK_10(false), JDK_11(false); + JDK_16, JDK_17, JDK_18, JDK_9, JDK_10(false), JDK_11(false), /*15.0*/JDK_15(false); fun isMandatory(): Boolean = mandatory } -val jdkAlternativeVarNames = mapOf(JdkMajorVersion.JDK_9 to listOf("JDK_19")) +val jdkAlternativeVarNames = mapOf(JdkMajorVersion.JDK_9 to listOf("JDK_19"), JdkMajorVersion.JDK_15 to listOf("JDK_15_0")) data class JdkId(val explicit: Boolean, val majorVersion: JdkMajorVersion, var version: String, var homeDir: File) diff --git a/compiler/tests-different-jdk/build.gradle.kts b/compiler/tests-different-jdk/build.gradle.kts index 0d57ee4ccd7..5165ec4b32f 100644 --- a/compiler/tests-different-jdk/build.gradle.kts +++ b/compiler/tests-different-jdk/build.gradle.kts @@ -82,6 +82,19 @@ codegenTest(target = 8, jvm = 11) {} codegenTest(target = 11, jvm = 11) {} +//JDK 15 +codegenTest(target = 6, jvm = 15) { + jvmArgs!!.add( "-XX:-FailOverToOldVerifier") +} + +codegenTest(target = 8, jvm = 15) { + jvmArgs!!.add( "-XX:-FailOverToOldVerifier") +} + +codegenTest(target = 15, jvm = 15) { + jvmArgs!!.add( "-XX:-FailOverToOldVerifier") +} + //..also add this two tasks to build after adding fresh jdks to build agents val mostRecentJdk = JdkMajorVersion.values().last().name diff --git a/compiler/tests-different-jdk/tests/org/jetbrains/kotlin/codegen/jdk/CustomJvmTargetOnJvmBaseTest.kt b/compiler/tests-different-jdk/tests/org/jetbrains/kotlin/codegen/jdk/CustomJvmTargetOnJvmBaseTest.kt index b091fea77d4..6c7c072ba39 100644 --- a/compiler/tests-different-jdk/tests/org/jetbrains/kotlin/codegen/jdk/CustomJvmTargetOnJvmBaseTest.kt +++ b/compiler/tests-different-jdk/tests/org/jetbrains/kotlin/codegen/jdk/CustomJvmTargetOnJvmBaseTest.kt @@ -31,17 +31,20 @@ import org.junit.runner.RunWith @UseTechnicalNames abstract class CustomJvmTargetOnJvmBaseTest +// JDK 6 @RunOnlyJdk6Test @Execution(ExecutionMode.SAME_THREAD) @RunWith(JUnitPlatformRunnerForJdk6::class) class JvmTarget6OnJvm6 : CustomJvmTargetOnJvmBaseTest() +// JDK 8 @RunWith(JUnitPlatform::class) class JvmTarget6OnJvm8 : CustomJvmTargetOnJvmBaseTest() @RunWith(JUnitPlatform::class) class JvmTarget8OnJvm8 : CustomJvmTargetOnJvmBaseTest() +// JDK 11 @RunWith(JUnitPlatform::class) class JvmTarget6OnJvm11 : CustomJvmTargetOnJvmBaseTest() @@ -51,6 +54,17 @@ class JvmTarget8OnJvm11 : CustomJvmTargetOnJvmBaseTest() @RunWith(JUnitPlatform::class) class JvmTarget11OnJvm11 : CustomJvmTargetOnJvmBaseTest() +// JDK 15 +@RunWith(JUnitPlatform::class) +class JvmTarget6OnJvm15 : CustomJvmTargetOnJvmBaseTest() + +@RunWith(JUnitPlatform::class) +class JvmTarget8OnJvm15 : CustomJvmTargetOnJvmBaseTest() + +@RunWith(JUnitPlatform::class) +class JvmTarget15OnJvm15 : CustomJvmTargetOnJvmBaseTest() + +// LAST JDK from JdkMajorVersion available on machine @RunWith(JUnitPlatform::class) class JvmTarget6OnJvmLast : CustomJvmTargetOnJvmBaseTest() @@ -59,14 +73,3 @@ class JvmTarget8OnJvmLast : CustomJvmTargetOnJvmBaseTest() @RunWith(JUnitPlatform::class) class JvmTargetLastOnJvmLast : CustomJvmTargetOnJvmBaseTest() - -//TODO: delete old tasks -@RunWith(JUnitPlatform::class) -class JvmTarget6OnJvm9 : CustomJvmTargetOnJvmBaseTest() - -@RunWith(JUnitPlatform::class) -class JvmTarget8OnJvm9 : CustomJvmTargetOnJvmBaseTest() - -@RunWith(JUnitPlatform::class) -class JvmTarget9OnJvm9 : CustomJvmTargetOnJvmBaseTest() -