diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/Readme.md b/libraries/tools/kotlin-gradle-plugin-integration-tests/Readme.md index e9cd74a10aa..7dc49518ae6 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/Readme.md +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/Readme.md @@ -60,6 +60,8 @@ For each test method add `@GradleTest` annotation and `gradleVersion: GradleVers All tests annotated with `@GradleTest` are [parameterized tests](https://junit.org/junit5/docs/current/user-guide/#writing-tests-parameterized-tests), where provided parameter is Gradle version. By default, test will receive minimal and latest supported Gradle versions. It is possible to modify/add additional Gradle versions by adding `@GradleTestVersions` annotation either to the whole suite or to the specific test method. +Prefer using [TestVersions](src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/TestVersions.kt) to define required versions instead of +writing them directly as String. Use test DSL defined [here](src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/testDsl.kt) to write actual test case: ```kotlin diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/BuildCacheRelocationIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/BuildCacheRelocationIT.kt index 3b77f237e50..1a5ac8a48b9 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/BuildCacheRelocationIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/BuildCacheRelocationIT.kt @@ -119,7 +119,7 @@ class BuildCacheRelocationIT : KGPBaseTest() { } @DisplayName("works with Android project") - @GradleTestVersions(minVersion = "6.7.1") + @GradleTestVersions(minVersion = TestVersions.Gradle.G_6_7) @GradleTest fun testRelocationAndroidProject(gradleVersion: GradleVersion) { val (firstProject, secondProject) = prepareTestProjects( @@ -143,7 +143,7 @@ class BuildCacheRelocationIT : KGPBaseTest() { } @DisplayName("Test relocation for Android with dagger project") - @GradleTestVersions(minVersion = "6.7.1") + @GradleTestVersions(minVersion = TestVersions.Gradle.G_6_7) @GradleTest fun testRelocationAndroidDagger(gradleVersion: GradleVersion) { val (firstProject, secondProject) = prepareTestProjects( diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/ConfigurationAvoidanceIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/ConfigurationAvoidanceIT.kt index 0f061d6c17b..e0766c1df5e 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/ConfigurationAvoidanceIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/ConfigurationAvoidanceIT.kt @@ -36,7 +36,7 @@ class ConfigurationAvoidanceIT : KGPBaseTest() { } @DisplayName("Android tasks are not configured") - @GradleTestVersions(minVersion = "6.7.1") + @GradleTestVersions(minVersion = TestVersions.Gradle.G_6_7) @GradleTest fun testAndroidUnrelatedTaskNotConfigured(gradleVersion: GradleVersion) { project( diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/ConfigurationCacheForAndroidIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/ConfigurationCacheForAndroidIT.kt index cd8782e9b3e..9c01222c3d1 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/ConfigurationCacheForAndroidIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/ConfigurationCacheForAndroidIT.kt @@ -11,7 +11,7 @@ import org.jetbrains.kotlin.gradle.testbase.TestVersions.AGP.AGP_42 import org.junit.jupiter.api.DisplayName @DisplayName("Configuration cache in Android project") -@KGPBaseTest.GradleTestVersions(minVersion = "6.7.1") +@GradleTestVersions(minVersion = TestVersions.Gradle.G_6_7) class ConfigurationCacheForAndroidIT : AbstractConfigurationCacheIT() { override val defaultBuildOptions = super.defaultBuildOptions.copy( androidVersion = AGP_42 diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/ConfigurationCacheIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/ConfigurationCacheIT.kt index 125c25f8ee1..4a1673accb1 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/ConfigurationCacheIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/ConfigurationCacheIT.kt @@ -98,7 +98,7 @@ class ConfigurationCacheIT : AbstractConfigurationCacheIT() { // Set min Gradle version to 6.8 because of using DependencyResolutionManagement API to add repositories. @DisplayName("with instance execution") - @GradleTestVersions(minVersion = "6.8.3") + @GradleTestVersions(minVersion = TestVersions.Gradle.G_6_8) @GradleTest fun testInstantExecution(gradleVersion: GradleVersion) { project("instantExecution", gradleVersion) { @@ -121,7 +121,7 @@ class ConfigurationCacheIT : AbstractConfigurationCacheIT() { } @DisplayName("instant execution works with included build plugin") - @GradleTestVersions(minVersion = "6.8.3") + @GradleTestVersions(minVersion = TestVersions.Gradle.G_6_8) @GradleTest fun testInstantExecutionWithIncludedBuildPlugin(gradleVersion: GradleVersion) { project("instantExecutionWithIncludedBuildPlugin", gradleVersion) { @@ -196,7 +196,7 @@ class ConfigurationCacheIT : AbstractConfigurationCacheIT() { } @DisplayName("works in MPP withJava project") - @GradleTestVersions(minVersion = "7.0.2", maxVersion = "7.1.1") + @GradleTestVersions(minVersion = TestVersions.Gradle.G_7_0, maxVersion = TestVersions.Gradle.G_7_1) @GradleTest fun testJvmWithJavaConfigurationCache(gradleVersion: GradleVersion) { project("mppJvmWithJava", gradleVersion) { @@ -223,7 +223,7 @@ class ConfigurationCacheIT : AbstractConfigurationCacheIT() { } @SimpleGradlePluginTests -@KGPBaseTest.GradleTestVersions(minVersion = "6.6.1") +@GradleTestVersions(minVersion = TestVersions.Gradle.G_6_6) abstract class AbstractConfigurationCacheIT : KGPBaseTest() { override val defaultBuildOptions = super.defaultBuildOptions.copy(configurationCache = true) 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 69a79ce8530..d62f8250725 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 @@ -22,7 +22,7 @@ import kotlin.io.path.writeText class JvmTargetValidationTest : KGPBaseTest() { @DisplayName("Should produce warning if java and kotlin jvm targets are different") - @GradleTestVersions(minVersion = "6.7.1") + @GradleTestVersions(minVersion = TestVersions.Gradle.G_6_7) @GradleTest internal fun shouldWarnIfJavaAndKotlinJvmTargetsAreDifferent(gradleVersion: GradleVersion) { project( @@ -43,7 +43,7 @@ class JvmTargetValidationTest : KGPBaseTest() { } @DisplayName("Should fail the build if verification mode is 'error' and kotlin and java targets are different") - @GradleTestVersions(minVersion = "6.7.1") + @GradleTestVersions(minVersion = TestVersions.Gradle.G_6_7) @GradleTest internal fun shouldFailBuildIfJavaAndKotlinJvmTargetsAreDifferent(gradleVersion: GradleVersion) { project( @@ -70,7 +70,7 @@ class JvmTargetValidationTest : KGPBaseTest() { } @DisplayName("Should ignore if verification mode is 'ignore' and kotlin and java targets are different") - @GradleTestVersions(minVersion = "6.7.1") + @GradleTestVersions(minVersion = TestVersions.Gradle.G_6_7) @GradleTest internal fun shouldNotPrintAnythingIfJavaAndKotlinJvmTargetsAreDifferent( gradleVersion: GradleVersion @@ -99,7 +99,7 @@ class JvmTargetValidationTest : KGPBaseTest() { } @DisplayName("Should not produce warning when java and kotlin jvm targets are the same") - @GradleTestVersions(minVersion = "6.7.1") + @GradleTestVersions(minVersion = TestVersions.Gradle.G_6_7) @GradleTest internal fun shouldNotWarnOnJavaAndKotlinSameJvmTargets(gradleVersion: GradleVersion) { project( @@ -118,7 +118,7 @@ class JvmTargetValidationTest : KGPBaseTest() { } @DisplayName("Should produce Java-Kotlin jvm target incompatibility warning only for related tasks") - @GradleTestVersions(minVersion = "6.7.1") + @GradleTestVersions(minVersion = TestVersions.Gradle.G_6_7) @GradleTest internal fun shouldProduceJavaKotlinJvmTargetDifferenceWarningOnlyForRelatedTasks( gradleVersion: GradleVersion @@ -160,7 +160,7 @@ class JvmTargetValidationTest : KGPBaseTest() { } @DisplayName("Should correctly validate JVM targets in mixed Kotlin/Java projects that are using