[Gradle] Update toolchain tests to run on Gradle 8+

^KT-59587 In Progress
This commit is contained in:
Yahor Berdnikau
2023-06-28 10:52:06 +02:00
committed by Space Team
parent 36f748cbcc
commit 6cf35c74af
@@ -11,6 +11,7 @@ import org.gradle.internal.jvm.JavaInfo
import org.gradle.internal.jvm.Jvm
import org.gradle.testkit.runner.BuildResult
import org.gradle.util.GradleVersion
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
import org.jetbrains.kotlin.gradle.testbase.*
import org.junit.jupiter.api.DisplayName
import java.io.File
@@ -582,6 +583,7 @@ class KotlinJavaToolchainTest : KGPBaseTest() {
@JvmGradlePluginTests
@DisplayName("JVM target shouldn't be changed when toolchain is not configured")
// Starting Gradle 8.0 toolchain is always configured by default
@GradleTestVersions(maxVersion = TestVersions.Gradle.G_7_6)
@GradleTest
internal fun shouldNotChangeJvmTargetWithNoToolchain(gradleVersion: GradleVersion) {
@@ -598,13 +600,17 @@ class KotlinJavaToolchainTest : KGPBaseTest() {
""".trimIndent()
)
val defaultJvmTargetName = JvmTarget.DEFAULT.let {
"${it.declaringJavaClass.canonicalName}.${it.name}"
}
//language=Groovy
buildGradle.append(
"""
tasks.named("compileKotlin") {
doLast {
def actualJvmTarget = compilerOptions.jvmTarget.orNull
if (actualJvmTarget != org.jetbrains.kotlin.gradle.dsl.JvmTarget.DEFAULT) {
if (actualJvmTarget != $defaultJvmTargetName) {
//noinspection GroovyAssignabilityCheck
throw new GradleException("Expected `jvmTarget` value is 'JvmTarget.DEFAULT' but the actual value was ${'$'}actualJvmTarget")
}
@@ -728,7 +734,6 @@ class KotlinJavaToolchainTest : KGPBaseTest() {
@JvmGradlePluginTests
@DisplayName("Toolchain should not override Jvm target configured in project level DSL")
@GradleTestVersions(maxVersion = TestVersions.Gradle.G_7_6)
@GradleTest
fun toolchainNotOverrideProjectJvmTarget(gradleVersion: GradleVersion) {
project(
@@ -736,6 +741,14 @@ class KotlinJavaToolchainTest : KGPBaseTest() {
gradleVersion = gradleVersion,
buildOptions = defaultBuildOptions.copy(logLevel = LogLevel.DEBUG)
) {
//language=properties
gradleProperties.append(
"""
# suppress inspection "UnusedProperty"
kotlin.jvm.target.validation.mode = warning
""".trimIndent()
)
buildGradle.appendText(
//language=groovy
"""