From 3b806dca682aced37d6b22b0a489a6aaf94f6a5d Mon Sep 17 00:00:00 2001 From: Alexey Tsvetkov Date: Fri, 11 Jan 2019 19:16:40 +0300 Subject: [PATCH] Drop support for gradle 4.0 #KT-29275 Fixed --- .../AbstractKotlinAndroidGradleTests.kt | 2 +- .../kotlin/gradle/GradleVersionRequired.kt | 4 +++- .../jetbrains/kotlin/gradle/Kapt3AndroidIT.kt | 2 +- .../kotlin/gradle/Kotlin2JsGradlePluginIT.kt | 4 ++-- .../kotlin/gradle/KotlinGradlePluginIT.kt | 2 +- .../jetbrains/kotlin/gradle/PluginsDslIT.kt | 3 +-- .../kotlin/gradle/SimpleKotlinGradleIT.kt | 2 +- .../kotlin/gradle/TestRootAffectedIT.kt | 4 ++-- .../kotlin/gradle/plugin/mpp/KotlinUsages.kt | 23 ++++++++----------- .../internal/ScriptingGradleSubplugin.kt | 6 ----- .../kotlin/gradle/utils/compatibiltiy.kt | 2 +- 11 files changed, 23 insertions(+), 31 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/AbstractKotlinAndroidGradleTests.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/AbstractKotlinAndroidGradleTests.kt index 914cc6c1fbf..3eb0df162d1 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/AbstractKotlinAndroidGradleTests.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/AbstractKotlinAndroidGradleTests.kt @@ -233,7 +233,7 @@ class KotlinAndroid32GradleIT : KotlinAndroid3GradleIT(androidGradlePluginVersio class KotlinAndroid30GradleIT : KotlinAndroid3GradleIT(androidGradlePluginVersion = AGPVersion.v3_0_0) { override val defaultGradleVersion: GradleVersionRequired - get() = GradleVersionRequired.InRange("4.1", "4.10.2") + get() = GradleVersionRequired.Until("4.10.2") } abstract class KotlinAndroid3GradleIT(androidGradlePluginVersion: AGPVersion) : AbstractKotlinAndroidGradleTests(androidGradlePluginVersion) { diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/GradleVersionRequired.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/GradleVersionRequired.kt index 7c5661add25..bb1815dfa79 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/GradleVersionRequired.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/GradleVersionRequired.kt @@ -21,7 +21,7 @@ import org.junit.Assume sealed class GradleVersionRequired(val minVersion: String, val maxVersion: String?) { companion object { - const val OLDEST_SUPPORTED = "4.0" + const val OLDEST_SUPPORTED = "4.1" } class Exact(version: String) : GradleVersionRequired(version, version) @@ -30,6 +30,8 @@ sealed class GradleVersionRequired(val minVersion: String, val maxVersion: Strin class InRange(minVersion: String, maxVersion: String) : GradleVersionRequired(minVersion, maxVersion) + class Until(maxVersion: String) : GradleVersionRequired(OLDEST_SUPPORTED, maxVersion) + object None : GradleVersionRequired(GradleVersionRequired.OLDEST_SUPPORTED, null) } diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kapt3AndroidIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kapt3AndroidIT.kt index b0c397b44f4..fc9199bece6 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kapt3AndroidIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kapt3AndroidIT.kt @@ -24,7 +24,7 @@ open class Kapt3AndroidIT : Kapt3BaseIT() { get() = AGPVersion.v3_0_0 override val defaultGradleVersion: GradleVersionRequired - get() = GradleVersionRequired.InRange("4.1", "4.10.2") + get() = GradleVersionRequired.Until("4.10.2") override fun defaultBuildOptions() = super.defaultBuildOptions().copy( diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kotlin2JsGradlePluginIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kotlin2JsGradlePluginIT.kt index a58cae1b781..1baa7ce9694 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kotlin2JsGradlePluginIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kotlin2JsGradlePluginIT.kt @@ -142,7 +142,7 @@ class Kotlin2JsGradlePluginIT : BaseGradleIT() { @Test fun testJsCustomSourceSet() { - val project = Project("kotlin2JsProjectWithCustomSourceset", GradleVersionRequired.AtLeast("4.0")) + val project = Project("kotlin2JsProjectWithCustomSourceset") project.build("build") { assertSuccessful() @@ -341,7 +341,7 @@ class Kotlin2JsGradlePluginIT : BaseGradleIT() { } @Test - fun testIncrementalCompilationDisabled() = Project("kotlin2JsICProject", GradleVersionRequired.AtLeast("4.0")).run { + fun testIncrementalCompilationDisabled() = Project("kotlin2JsICProject").run { val options = defaultBuildOptions().copy(incrementalJs = false) build("build", options = options) { diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/KotlinGradlePluginIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/KotlinGradlePluginIT.kt index cfb8915d3d4..99b4a0e737f 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/KotlinGradlePluginIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/KotlinGradlePluginIT.kt @@ -517,7 +517,7 @@ class KotlinGradleIT : BaseGradleIT() { @Test fun testSrcDirTaskDependency() { - Project("simpleProject", GradleVersionRequired.AtLeast("4.1")).apply { + Project("simpleProject").apply { setupWorkingDir() File(projectDir, "build.gradle").appendText( """${'\n'} diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/PluginsDslIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/PluginsDslIT.kt index 738a08548c0..e6838833ce4 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/PluginsDslIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/PluginsDslIT.kt @@ -50,12 +50,11 @@ class PluginsDslIT : BaseGradleIT() { } companion object { - private val GRADLE_VERSION = GradleVersionRequired.AtLeast("4.0") private const val DIRECTORY_PREFIX = "pluginsDsl" private fun BaseGradleIT.projectWithMavenLocalPlugins( projectName: String, - wrapperVersion: GradleVersionRequired = GRADLE_VERSION, + wrapperVersion: GradleVersionRequired = GradleVersionRequired.None, directoryPrefix: String? = DIRECTORY_PREFIX, minLogLevel: LogLevel = LogLevel.DEBUG ): Project = transformProjectWithPluginsDsl(projectName, wrapperVersion, directoryPrefix, minLogLevel) diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/SimpleKotlinGradleIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/SimpleKotlinGradleIT.kt index 4f972c32045..7594becf198 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/SimpleKotlinGradleIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/SimpleKotlinGradleIT.kt @@ -84,7 +84,7 @@ class SimpleKotlinGradleIT : BaseGradleIT() { @Test fun testDestinationDirReferencedDuringEvaluation() { - Project("destinationDirReferencedDuringEvaluation", GradleVersionRequired.AtLeast("4.0")).build("build") { + Project("destinationDirReferencedDuringEvaluation").build("build") { assertSuccessful() assertContains("GreeterTest PASSED") } diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/TestRootAffectedIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/TestRootAffectedIT.kt index 6f0e3da1e7a..a75c2a954af 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/TestRootAffectedIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/TestRootAffectedIT.kt @@ -9,7 +9,7 @@ import java.io.File class TestRootAffectedIT : BaseGradleIT() { @Test fun testSourceRootClassIsModifiedIC() { - val project = Project("kotlinProject", GradleVersionRequired.AtLeast("4.1")) + val project = Project("kotlinProject") val buildOptions = defaultBuildOptions().copy(incremental = true) project.build("build", options = buildOptions) { @@ -58,7 +58,7 @@ class TestRootAffectedIT : BaseGradleIT() { @Test fun testTestRootClassIsRemovedIC() { - val project = Project("kotlinProject", GradleVersionRequired.AtLeast("4.1")) + val project = Project("kotlinProject") val buildOptions = defaultBuildOptions().copy(incremental = true) project.build("build", options = buildOptions) { diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/KotlinUsages.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/KotlinUsages.kt index 988499e38a0..15d357cb546 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/KotlinUsages.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/KotlinUsages.kt @@ -73,20 +73,17 @@ object KotlinUsages { chooseCandidateByName(KOTLIN_RUNTIME) } - // The consumer value is available and can be used for disambiguation in Gradle 4.1+ - if (isGradleVersionAtLeast(4, 1)) { - val javaRuntimeUsages = setOf(JAVA_RUNTIME_JARS, JAVA_RUNTIME) + val javaRuntimeUsages = setOf(JAVA_RUNTIME_JARS, JAVA_RUNTIME) - if (JAVA_API in candidateNames && - javaRuntimeUsages.any { it in candidateNames } && - values.none { it in candidateNames } - ) { - when (consumerValue?.name) { - KOTLIN_API, JAVA_API -> - chooseCandidateByName(JAVA_API) - null, KOTLIN_RUNTIME, in javaRuntimeUsages -> - chooseCandidateByName(javaRuntimeUsages.first { it in candidateNames }) - } + if (JAVA_API in candidateNames && + javaRuntimeUsages.any { it in candidateNames } && + values.none { it in candidateNames } + ) { + when (consumerValue?.name) { + KOTLIN_API, JAVA_API -> + chooseCandidateByName(JAVA_API) + null, KOTLIN_RUNTIME, in javaRuntimeUsages -> + chooseCandidateByName(javaRuntimeUsages.first { it in candidateNames }) } } diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/scripting/internal/ScriptingGradleSubplugin.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/scripting/internal/ScriptingGradleSubplugin.kt index 07d471e05a9..5b25789328c 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/scripting/internal/ScriptingGradleSubplugin.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/scripting/internal/ScriptingGradleSubplugin.kt @@ -31,9 +31,6 @@ class ScriptingGradleSubplugin : Plugin { fun isEnabled(project: Project) = project.plugins.findPlugin(ScriptingGradleSubplugin::class.java) != null fun configureForSourceSet(project: Project, sourceSetName: String) { - - if (!org.jetbrains.kotlin.gradle.utils.isGradleVersionAtLeast(4, 0)) return - val discoveryConfiguration = project.configurations.maybeCreate(getDiscoveryClasspathConfigurationName(sourceSetName)).apply { isVisible = false isCanBeConsumed = false @@ -45,9 +42,6 @@ class ScriptingGradleSubplugin : Plugin { } override fun apply(project: Project) { - - if (!org.jetbrains.kotlin.gradle.utils.isGradleVersionAtLeast(4, 0)) return - project.afterEvaluate { val javaPluginConvention = project.convention.findPlugin(JavaPluginConvention::class.java) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/utils/compatibiltiy.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/utils/compatibiltiy.kt index d81a6ee1968..c30ed4b9300 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/utils/compatibiltiy.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/utils/compatibiltiy.kt @@ -46,7 +46,7 @@ internal fun TaskInputs.dirCompatible(dirPath: Any) { inputsDirMethod(this, dirPath) } -internal fun checkGradleCompatibility(minSupportedVersion: GradleVersion = GradleVersion.version("4.0")) { +internal fun checkGradleCompatibility(minSupportedVersion: GradleVersion = GradleVersion.version("4.1")) { val currentVersion = GradleVersion.current() if (currentVersion < minSupportedVersion) { throw GradleException(