diff --git a/buildSrc/src/main/kotlin/tasks.kt b/buildSrc/src/main/kotlin/tasks.kt index 4ca88d7573f..2e8b4925d68 100644 --- a/buildSrc/src/main/kotlin/tasks.kt +++ b/buildSrc/src/main/kotlin/tasks.kt @@ -107,6 +107,7 @@ fun Project.projectTest( maxHeapSizeMb: Int? = null, minHeapSizeMb: Int? = null, reservedCodeCacheSizeMb: Int = 256, + defineJDKEnvVariables: List = emptyList(), body: Test.() -> Unit = {} ): TaskProvider { val shouldInstrument = project.providers.gradleProperty("kotlin.test.instrumentation.disable") @@ -249,10 +250,9 @@ fun Project.projectTest( ?: forks.coerceIn(1, Runtime.getRuntime().availableProcessors()) } - JdkMajorVersion.values().forEach { version -> - project.getToolchainLauncherFor(version).orNull?.let { - environment(version.envName, it.metadata.installationPath.asFile.absolutePath) - } + defineJDKEnvVariables.forEach { version -> + val javaLauncher = project.getToolchainLauncherFor(version).orNull ?: error("Can't find toolchain for $version") + environment(version.envName, javaLauncher.metadata.installationPath.asFile.absolutePath) } }.apply { configure(body) } } diff --git a/compiler/build.gradle.kts b/compiler/build.gradle.kts index bf254984ab8..f49dc6588bc 100644 --- a/compiler/build.gradle.kts +++ b/compiler/build.gradle.kts @@ -1,5 +1,3 @@ -import java.io.File - plugins { kotlin("jvm") id("jps-compatible") @@ -52,7 +50,10 @@ sourceSets { } } -projectTest(parallel = true) { +projectTest( + parallel = true, + defineJDKEnvVariables = listOf(JdkMajorVersion.JDK_1_8, JdkMajorVersion.JDK_11_0, JdkMajorVersion.JDK_17_0) +) { dependsOn(":dist") workingDir = rootDir