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 d0201fb7afc..6835eccc7fe 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 @@ -101,6 +101,34 @@ open class Kapt3WorkersIT : Kapt3IT() { } } + @DisplayName("KT-48402: Kapt worker classpath is using JRE classes from toolchain") + @JdkVersions(versions = [JavaVersion.VERSION_16]) + @GradleWithJdkTest + fun kaptClasspathJreToolchain( + gradleVersion: GradleVersion, + jdk: JdkVersions.ProvidedJdk + ) { + project( + "simple".withPrefix, + gradleVersion, + buildJdk = jdk.location + ) { + buildGradle.modify { + """ + $it + + kotlin { + jvmToolchain { + languageVersion.set(JavaLanguageVersion.of("8")) + } + } + """.trimIndent() + } + + build("assemble") + } + } + @DisplayName("Additional Kapt jvm arguments are passed to the process") @GradleTest internal fun additionalJvmArgumentsArePassed(gradleVersion: GradleVersion) { diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/kapt/KaptWithoutKotlincTask.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/kapt/KaptWithoutKotlincTask.kt index b9f6d1893e5..8d89cb798c9 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/kapt/KaptWithoutKotlincTask.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/kapt/KaptWithoutKotlincTask.kt @@ -112,7 +112,10 @@ abstract class KaptWithoutKotlincTask @Inject constructor( val compileClasspath = classpath.files.toMutableList() if (addJdkClassesToClasspath.get()) { - compileClasspath.addAll(0, PathUtil.getJdkClassesRootsFromCurrentJre()) + compileClasspath.addAll( + 0, + PathUtil.getJdkClassesRoots(defaultKotlinJavaToolchain.get().providedJvm.get().javaHome) + ) } val kaptFlagsForWorker = mutableSetOf().apply {