From b0d7c97ad23a00ee8e1e0454d66d7892bfd38548 Mon Sep 17 00:00:00 2001 From: Alexander Likhachev Date: Tue, 18 Jan 2022 16:55:05 +0300 Subject: [PATCH] [Gradle] Adjust test for KT-48408 to not fail without Kotlin sources --- .../kotlin/gradle/JvmTargetValidationTest.kt | 21 +++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/JvmTargetValidationTest.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/JvmTargetValidationTest.kt index a89d5594cc8..bdb7cdfaa05 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/JvmTargetValidationTest.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/JvmTargetValidationTest.kt @@ -15,6 +15,7 @@ import org.junit.jupiter.api.DisplayName import java.io.File import kotlin.io.path.ExperimentalPathApi import kotlin.io.path.createDirectories +import kotlin.io.path.deleteExisting import kotlin.io.path.writeText @DisplayName("JVM tasks target validation") @@ -191,10 +192,10 @@ class JvmTargetValidationTest : KGPBaseTest() { } } - @DisplayName("Should fail the build if verification mode is 'error' and kotlin and java targets are different with no kotlin sources") + @DisplayName("Should skip JVM target validation if no Kotlin sources are available") @GradleTestVersions(minVersion = TestVersions.Gradle.G_6_7) @GradleTest - internal fun shouldFailBuildIfJavaAndKotlinJvmTargetsAreDifferentWithNoKotlinSources(gradleVersion: GradleVersion) { + internal fun shouldSkipJvmTargetValidationNoKotlinSources(gradleVersion: GradleVersion) { project( projectName = "kotlinJavaProject".fullProjectName, gradleVersion = gradleVersion @@ -209,9 +210,21 @@ class JvmTargetValidationTest : KGPBaseTest() { """.trimIndent() ) kotlinSourcesDir().toFile().deleteRecursively() + javaSourcesDir().resolve("demo/HelloWorld.java").deleteExisting() - buildAndFail("assemble") { - assertOutputContains( + build("assemble") { + assertOutputDoesNotContain( + "'compileJava' task (current target is 1.8) and 'compileKotlin' task (current target is 11) jvm target compatibility " + + "should be set to the same Java version." + ) + } + + javaSourcesDir().resolve("demo/Greeter.java").modify { + it.replace("myGreeting = greeting;", """myGreeting = greeting + "!";""") + } + + build("assemble") { + assertOutputDoesNotContain( "'compileJava' task (current target is 1.8) and 'compileKotlin' task (current target is 11) jvm target compatibility " + "should be set to the same Java version." )