diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/KotlinJavaToolchainTest.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/KotlinJavaToolchainTest.kt index 8e7f6f864fd..ce7008e700e 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/KotlinJavaToolchainTest.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/KotlinJavaToolchainTest.kt @@ -12,7 +12,6 @@ import org.gradle.testkit.runner.BuildResult import org.gradle.util.GradleVersion import org.jetbrains.kotlin.gradle.testbase.* import org.junit.jupiter.api.DisplayName -import org.junit.jupiter.api.Test import java.io.File @SimpleGradlePluginTests @@ -118,7 +117,6 @@ class KotlinJavaToolchainTest : KGPBaseTest() { projectName = "simple".fullProjectName, gradleVersion = gradleVersion, projectPathAdditionalSuffix = "1/cache-test", - forceOutput = true, buildOptions = defaultBuildOptions.copy(buildCacheEnabled = true) ) { enableLocalBuildCache(buildCache) @@ -135,7 +133,6 @@ class KotlinJavaToolchainTest : KGPBaseTest() { projectName = "simple".fullProjectName, gradleVersion = gradleVersion, projectPathAdditionalSuffix = "2/cache-test", - forceOutput = true, buildOptions = defaultBuildOptions.copy(buildCacheEnabled = true) ) { enableLocalBuildCache(buildCache) @@ -303,8 +300,7 @@ class KotlinJavaToolchainTest : KGPBaseTest() { internal fun setJdkUsingJavaToolchain(gradleVersion: GradleVersion) { project( projectName = "simple".fullProjectName, - gradleVersion = gradleVersion, - forceOutput = true + gradleVersion = gradleVersion ) { useToolchainToCompile(11) build("assemble") { @@ -319,8 +315,7 @@ class KotlinJavaToolchainTest : KGPBaseTest() { internal fun setJdkUsingJavaToolchainViaExtension(gradleVersion: GradleVersion) { project( projectName = "simple".fullProjectName, - gradleVersion = gradleVersion, - forceOutput = true + gradleVersion = gradleVersion ) { useToolchainExtension(11) build("assemble") { @@ -329,6 +324,22 @@ class KotlinJavaToolchainTest : KGPBaseTest() { } } + @DisplayName("Toolchain should be correctly supported in multiplatform plugin jvm targets") + @GradleTestVersions(minVersion = "6.7.1") + @GradleTest + internal fun toolchainCorrectlySupportedInMPPlugin(gradleVersion: GradleVersion) { + project( + projectName = "mppJvmWithJava".fullProjectName, + gradleVersion = gradleVersion + ) { + useToolchainToCompile(11) + + build("assemble") { + assertJdkHomeIsUsingJdk(getToolchainExecPathFromLogs()) + } + } + } + private fun BuildResult.assertJdkHomeIsUsingJdk( javaexecPath: String ) = assertOutputContains("[KOTLIN] Kotlin compilation 'jdkHome' argument: $javaexecPath") diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-java-toolchain/mppJvmWithJava/build.gradle b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-java-toolchain/mppJvmWithJava/build.gradle new file mode 100644 index 00000000000..8a712a4a7ff --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-java-toolchain/mppJvmWithJava/build.gradle @@ -0,0 +1,14 @@ +plugins { + id "org.jetbrains.kotlin.multiplatform" +} + +repositories { + mavenLocal() + mavenCentral() +} + +kotlin { + jvm("jvmWithJava") { + withJava() + } +} diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-java-toolchain/mppJvmWithJava/settings.gradle b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-java-toolchain/mppJvmWithJava/settings.gradle new file mode 100644 index 00000000000..491d2d45aa2 --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-java-toolchain/mppJvmWithJava/settings.gradle @@ -0,0 +1,10 @@ +pluginManagement { + repositories { + mavenLocal() + mavenCentral() + } + + plugins { + id "org.jetbrains.kotlin.multiplatform" version "$kotlin_version" + } +} diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-java-toolchain/mppJvmWithJava/src/jvmWithJavaMain/kotlin/jvmWithJavaData/SomeJVMWithJavaClass.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-java-toolchain/mppJvmWithJava/src/jvmWithJavaMain/kotlin/jvmWithJavaData/SomeJVMWithJavaClass.kt new file mode 100644 index 00000000000..a5a500cb150 --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-java-toolchain/mppJvmWithJava/src/jvmWithJavaMain/kotlin/jvmWithJavaData/SomeJVMWithJavaClass.kt @@ -0,0 +1,4 @@ +package jvmWithJavaData + +class SomeJVMWithJavaClass { +} \ No newline at end of file