Add test for multiplatform plugin.
^KT-43095 In Progress
This commit is contained in:
+18
-7
@@ -12,7 +12,6 @@ import org.gradle.testkit.runner.BuildResult
|
|||||||
import org.gradle.util.GradleVersion
|
import org.gradle.util.GradleVersion
|
||||||
import org.jetbrains.kotlin.gradle.testbase.*
|
import org.jetbrains.kotlin.gradle.testbase.*
|
||||||
import org.junit.jupiter.api.DisplayName
|
import org.junit.jupiter.api.DisplayName
|
||||||
import org.junit.jupiter.api.Test
|
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
|
||||||
@SimpleGradlePluginTests
|
@SimpleGradlePluginTests
|
||||||
@@ -118,7 +117,6 @@ class KotlinJavaToolchainTest : KGPBaseTest() {
|
|||||||
projectName = "simple".fullProjectName,
|
projectName = "simple".fullProjectName,
|
||||||
gradleVersion = gradleVersion,
|
gradleVersion = gradleVersion,
|
||||||
projectPathAdditionalSuffix = "1/cache-test",
|
projectPathAdditionalSuffix = "1/cache-test",
|
||||||
forceOutput = true,
|
|
||||||
buildOptions = defaultBuildOptions.copy(buildCacheEnabled = true)
|
buildOptions = defaultBuildOptions.copy(buildCacheEnabled = true)
|
||||||
) {
|
) {
|
||||||
enableLocalBuildCache(buildCache)
|
enableLocalBuildCache(buildCache)
|
||||||
@@ -135,7 +133,6 @@ class KotlinJavaToolchainTest : KGPBaseTest() {
|
|||||||
projectName = "simple".fullProjectName,
|
projectName = "simple".fullProjectName,
|
||||||
gradleVersion = gradleVersion,
|
gradleVersion = gradleVersion,
|
||||||
projectPathAdditionalSuffix = "2/cache-test",
|
projectPathAdditionalSuffix = "2/cache-test",
|
||||||
forceOutput = true,
|
|
||||||
buildOptions = defaultBuildOptions.copy(buildCacheEnabled = true)
|
buildOptions = defaultBuildOptions.copy(buildCacheEnabled = true)
|
||||||
) {
|
) {
|
||||||
enableLocalBuildCache(buildCache)
|
enableLocalBuildCache(buildCache)
|
||||||
@@ -303,8 +300,7 @@ class KotlinJavaToolchainTest : KGPBaseTest() {
|
|||||||
internal fun setJdkUsingJavaToolchain(gradleVersion: GradleVersion) {
|
internal fun setJdkUsingJavaToolchain(gradleVersion: GradleVersion) {
|
||||||
project(
|
project(
|
||||||
projectName = "simple".fullProjectName,
|
projectName = "simple".fullProjectName,
|
||||||
gradleVersion = gradleVersion,
|
gradleVersion = gradleVersion
|
||||||
forceOutput = true
|
|
||||||
) {
|
) {
|
||||||
useToolchainToCompile(11)
|
useToolchainToCompile(11)
|
||||||
build("assemble") {
|
build("assemble") {
|
||||||
@@ -319,8 +315,7 @@ class KotlinJavaToolchainTest : KGPBaseTest() {
|
|||||||
internal fun setJdkUsingJavaToolchainViaExtension(gradleVersion: GradleVersion) {
|
internal fun setJdkUsingJavaToolchainViaExtension(gradleVersion: GradleVersion) {
|
||||||
project(
|
project(
|
||||||
projectName = "simple".fullProjectName,
|
projectName = "simple".fullProjectName,
|
||||||
gradleVersion = gradleVersion,
|
gradleVersion = gradleVersion
|
||||||
forceOutput = true
|
|
||||||
) {
|
) {
|
||||||
useToolchainExtension(11)
|
useToolchainExtension(11)
|
||||||
build("assemble") {
|
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(
|
private fun BuildResult.assertJdkHomeIsUsingJdk(
|
||||||
javaexecPath: String
|
javaexecPath: String
|
||||||
) = assertOutputContains("[KOTLIN] Kotlin compilation 'jdkHome' argument: $javaexecPath")
|
) = assertOutputContains("[KOTLIN] Kotlin compilation 'jdkHome' argument: $javaexecPath")
|
||||||
|
|||||||
+14
@@ -0,0 +1,14 @@
|
|||||||
|
plugins {
|
||||||
|
id "org.jetbrains.kotlin.multiplatform"
|
||||||
|
}
|
||||||
|
|
||||||
|
repositories {
|
||||||
|
mavenLocal()
|
||||||
|
mavenCentral()
|
||||||
|
}
|
||||||
|
|
||||||
|
kotlin {
|
||||||
|
jvm("jvmWithJava") {
|
||||||
|
withJava()
|
||||||
|
}
|
||||||
|
}
|
||||||
+10
@@ -0,0 +1,10 @@
|
|||||||
|
pluginManagement {
|
||||||
|
repositories {
|
||||||
|
mavenLocal()
|
||||||
|
mavenCentral()
|
||||||
|
}
|
||||||
|
|
||||||
|
plugins {
|
||||||
|
id "org.jetbrains.kotlin.multiplatform" version "$kotlin_version"
|
||||||
|
}
|
||||||
|
}
|
||||||
+4
@@ -0,0 +1,4 @@
|
|||||||
|
package jvmWithJavaData
|
||||||
|
|
||||||
|
class SomeJVMWithJavaClass {
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user