diff --git a/buildSrc/src/main/kotlin/JvmToolchain.kt b/buildSrc/src/main/kotlin/JvmToolchain.kt index 02b05e8d04e..b9b2f06a939 100644 --- a/buildSrc/src/main/kotlin/JvmToolchain.kt +++ b/buildSrc/src/main/kotlin/JvmToolchain.kt @@ -21,6 +21,7 @@ enum class JdkMajorVersion( JDK_9(9, overrideMajorVersion = 11), JDK_10(10, mandatory = false, overrideMajorVersion = 11), JDK_11(11, mandatory = false), + JDK_16(16, mandatory = false), JDK_17(17, mandatory = false); fun isMandatory(): Boolean = mandatory diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/build.gradle.kts index 1304d8b7996..af583bd50fa 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/build.gradle.kts @@ -217,6 +217,7 @@ tasks.withType { val jdk9Provider = project.getToolchainLauncherFor(JdkMajorVersion.JDK_9).map { it.metadata.installationPath.asFile.absolutePath } val jdk10Provider = project.getToolchainLauncherFor(JdkMajorVersion.JDK_10).map { it.metadata.installationPath.asFile.absolutePath } val jdk11Provider = project.getToolchainLauncherFor(JdkMajorVersion.JDK_11).map { it.metadata.installationPath.asFile.absolutePath } + val jdk16Provider = project.getToolchainLauncherFor(JdkMajorVersion.JDK_16).map { it.metadata.installationPath.asFile.absolutePath } val mavenLocalRepo = project.providers.systemProperty("maven.repo.local").forUseAtConfigurationTime().orNull // Query required JDKs paths only on execution phase to avoid triggering auto-download on project configuration phase @@ -224,6 +225,7 @@ tasks.withType { systemProperty("jdk9Home", jdk9Provider.get()) systemProperty("jdk10Home", jdk10Provider.get()) systemProperty("jdk11Home", jdk11Provider.get()) + systemProperty("jdk16Home", jdk16Provider.get()) if (mavenLocalRepo != null) { systemProperty("maven.repo.local", mavenLocalRepo) } diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kapt3IT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kapt3IT.kt index b175e7affbb..257a402b368 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kapt3IT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kapt3IT.kt @@ -73,13 +73,13 @@ open class Kapt3WorkersIT : Kapt3IT() { } } - @Test - fun testSimpleWithJdk10() { - val javaHome = File(System.getProperty("jdk10Home")!!) - Assume.assumeTrue("JDK 10 isn't available", javaHome.isDirectory) + fun doTestSimpleWithCustomJdk(jdkVersion: Int, minumalGradleVersion: String = GradleVersionRequired.OLDEST_SUPPORTED) { + val javaHome = File(System.getProperty("jdk${jdkVersion}Home")!!) + Assume.assumeTrue("JDK $jdkVersion isn't available", javaHome.isDirectory) val options = defaultBuildOptions().copy(javaHome = javaHome) - val project = Project("simple", directoryPrefix = "kapt2") + val project = + Project("simple", directoryPrefix = "kapt2", gradleVersionRequirement = GradleVersionRequired.AtLeast(minumalGradleVersion)) project.build("build", options = options) { assertSuccessful() assertKaptSuccessful() @@ -90,15 +90,17 @@ open class Kapt3WorkersIT : Kapt3IT() { @Test fun testSimpleWithJdk11() { - val javaHome = File(System.getProperty("jdk11Home")!!) - Assume.assumeTrue("JDK 11 isn't available", javaHome.isDirectory) - val options = defaultBuildOptions().copy(javaHome = javaHome) + doTestSimpleWithCustomJdk(11) + } - val project = Project("simple", directoryPrefix = "kapt2") - project.build("build", options = options) { - assertSuccessful() - assertKaptSuccessful() - } + @Test + fun testSimpleWithJdk10() { + doTestSimpleWithCustomJdk(10) + } + + @Test + fun testSimpleWithJdk16() { + doTestSimpleWithCustomJdk(16, "7.0") } }