Add test for multiplatform plugin.

^KT-43095 In Progress
This commit is contained in:
Yahor Berdnikau
2021-06-16 10:50:26 +02:00
committed by Space
parent 0f1da3c412
commit 7aa882b921
4 changed files with 46 additions and 7 deletions
@@ -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")
@@ -0,0 +1,14 @@
plugins {
id "org.jetbrains.kotlin.multiplatform"
}
repositories {
mavenLocal()
mavenCentral()
}
kotlin {
jvm("jvmWithJava") {
withJava()
}
}
@@ -0,0 +1,10 @@
pluginManagement {
repositories {
mavenLocal()
mavenCentral()
}
plugins {
id "org.jetbrains.kotlin.multiplatform" version "$kotlin_version"
}
}