Update min supported gradle version to 6.1

This PR also updates the min agp version we test with because older agp
versions are using gradle apis which doesn't exist in gradle 6.0+.

GH PR: #4155
This commit is contained in:
Bingran
2021-02-17 10:20:43 +00:00
committed by TeamCityServer
parent 9bdfbc948c
commit 03df752e8e
15 changed files with 21 additions and 91 deletions
@@ -49,7 +49,7 @@ import static org.junit.Assume.assumeThat;
@RunWith(value = Parameterized.class)
public abstract class AbstractModelBuilderTest {
public static final Object[][] SUPPORTED_GRADLE_VERSIONS = {{"4.9"}, {"5.6.4"}, {"6.5.1"}};
public static final Object[][] SUPPORTED_GRADLE_VERSIONS = {{"4.9"}, {"5.6.4"}, {"6.1"}, {"6.5.1"}};
private static final Pattern TEST_METHOD_NAME_PATTERN = Pattern.compile("(.*)\\[(\\d*: with Gradle-.*)\\]");
@@ -16,8 +16,8 @@ import org.junit.runners.Parameterized
import java.io.File
import java.util.*
const val mppImportTestMinVersionForMaster = "6.0+"
const val legacyMppImportTestMinVersionForMaster = "5.3+"
const val mppImportTestMinVersionForMaster = "6.1+"
const val legacyMppImportTestMinVersionForMaster = "6.1+"
abstract class MultiplePluginVersionGradleImportingTestCase : GradleImportingTestCase() {
@Rule
@@ -6,24 +6,15 @@ import org.gradle.util.GradleVersion
import org.jetbrains.kotlin.gradle.util.*
import org.jetbrains.kotlin.test.util.KtTestUtil
import org.junit.Assume
import org.junit.Ignore
import org.junit.Test
import java.io.File
import kotlin.test.assertEquals
import kotlin.test.assertTrue
open class KotlinAndroid33GradleIT : KotlinAndroid32GradleIT() {
override val androidGradlePluginVersion: AGPVersion
get() = AGPVersion.v3_3_2
}
open class KotlinAndroid36GradleIT : KotlinAndroid33GradleIT() {
open class KotlinAndroid36GradleIT : KotlinAndroid34GradleIT() {
override val androidGradlePluginVersion: AGPVersion
get() = AGPVersion.v3_6_0
override val defaultGradleVersion: GradleVersionRequired
get() = GradleVersionRequired.AtLeast("6.1")
@Test
fun testAndroidMppSourceSets(): Unit = with(
Project("new-mpp-android-source-sets")
@@ -460,13 +451,9 @@ open class KotlinAndroid70GradleIT : KotlinAndroid36GradleIT() {
}
}
open class KotlinAndroid32GradleIT : KotlinAndroid3GradleIT() {
open class KotlinAndroid34GradleIT : KotlinAndroid3GradleIT() {
override val androidGradlePluginVersion: AGPVersion
get() = AGPVersion.v3_2_0
//android build tool 28.0.3 use org.gradle.api.file.ProjectLayout#fileProperty(org.gradle.api.provider.Provider) that was deleted in gradle 6.0
override val defaultGradleVersion: GradleVersionRequired
get() = GradleVersionRequired.Until("5.6.4")
get() = AGPVersion.v3_4_1
@Test
fun testKaptUsingApOptionProvidersAsNestedInputOutput() = with(Project("AndroidProject")) {
@@ -26,14 +26,9 @@ import org.junit.runners.Parameterized
import java.io.File
import kotlin.test.assertEquals
private val DEFAULT_GRADLE_VERSION = GradleVersionRequired.AtLeast("5.6.4")
@RunWith(Parameterized::class)
class BuildCacheRelocationIT : BaseGradleIT() {
override val defaultGradleVersion: GradleVersionRequired
get() = DEFAULT_GRADLE_VERSION
override fun defaultBuildOptions(): BuildOptions =
super.defaultBuildOptions().copy(
withBuildCache = true,
@@ -53,7 +48,7 @@ class BuildCacheRelocationIT : BaseGradleIT() {
val (firstProject, secondProject) = (0..1).map { id ->
workingDir = workingDirs[id]
Project(projectName, directoryPrefix = projectDirectoryPrefix, gradleVersionRequirement = gradleVersionRequired).apply {
Project(projectName, directoryPrefix = projectDirectoryPrefix).apply {
setupWorkingDir()
initProject()
prepareLocalBuildCache(localBuildCacheDirectory)
@@ -101,7 +96,6 @@ class BuildCacheRelocationIT : BaseGradleIT() {
val initProject: Project.() -> Unit = {},
val taskToExecute: Array<String>,
val withAnotherGradleHome: Boolean = false,
val gradleVersionRequired: GradleVersionRequired = DEFAULT_GRADLE_VERSION,
val androidGradlePluginVersion: AGPVersion? = null
) {
@@ -191,8 +185,7 @@ class BuildCacheRelocationIT : BaseGradleIT() {
buildKtsApp.modify(::transformBuildScriptWithPluginsDsl)
buildKtsLib.modify(::transformBuildScriptWithPluginsDsl)
},
withAnotherGradleHome = true,
gradleVersionRequired = GradleVersionRequired.FOR_MPP_SUPPORT
withAnotherGradleHome = true
),
).map { arrayOf(it) }
}
@@ -22,7 +22,7 @@ import org.junit.Assume
sealed class GradleVersionRequired(val minVersion: String, val maxVersion: String?) {
companion object {
const val OLDEST_SUPPORTED = "5.3"
const val OLDEST_SUPPORTED = "6.1"
val FOR_MPP_SUPPORT = AtLeast("6.1")
}
@@ -9,31 +9,14 @@ import org.junit.Ignore
import org.junit.Test
import java.io.File
class Kapt3WorkersAndroid32IT : Kapt3Android32IT() {
class Kapt3WorkersAndroid34IT : Kapt3Android34IT() {
override fun kaptOptions(): KaptOptions =
super.kaptOptions().copy(useWorkers = true)
//android build tool 28.0.3 use org.gradle.api.file.ProjectLayout#fileProperty(org.gradle.api.provider.Provider) that was deleted in gradle 6.0
override val defaultGradleVersion: GradleVersionRequired
get() = GradleVersionRequired.Until("5.6.4")
}
open class Kapt3Android32IT : Kapt3AndroidIT() {
open class Kapt3Android34IT : Kapt3AndroidIT() {
override val androidGradlePluginVersion: AGPVersion
get() = AGPVersion.v3_2_0
//android build tool 28.0.3 use org.gradle.api.file.ProjectLayout#fileProperty(org.gradle.api.provider.Provider) that was deleted in gradle 6.0
override val defaultGradleVersion: GradleVersionRequired
get() = GradleVersionRequired.Until("5.6.4")
}
open class Kapt3Android33IT : Kapt3AndroidIT() {
override val androidGradlePluginVersion: AGPVersion
get() = AGPVersion.v3_3_2
//android build tool 28.0.3 use org.gradle.api.file.ProjectLayout#fileProperty(org.gradle.api.provider.Provider) that was deleted in gradle 6.0
override val defaultGradleVersion: GradleVersionRequired
get() = GradleVersionRequired.Until("5.6.4")
get() = AGPVersion.v3_4_1
@Test
fun testAndroidxNavigationSafeArgs() = with(Project("androidx-navigation-safe-args", directoryPrefix = "kapt2")) {
@@ -84,15 +67,6 @@ open class Kapt3Android33IT : Kapt3AndroidIT() {
}
}
class Kapt3Android34IT : Kapt3AndroidIT() {
override val androidGradlePluginVersion: AGPVersion
get() = AGPVersion.v3_4_1
// there is a weird validation exception in testICWithAnonymousClasses with 5.0 todo: fix it
override val defaultGradleVersion: GradleVersionRequired
get() = GradleVersionRequired.Until("5.4.1")
}
class Kapt3Android70IT : Kapt3AndroidIT() {
override val androidGradlePluginVersion: AGPVersion
get() = AGPVersion.v7_0_0
@@ -7,7 +7,6 @@ package org.jetbrains.kotlin.gradle
import org.jetbrains.kotlin.gradle.util.modify
import org.jetbrains.kotlin.konan.target.HostManager
import org.junit.Assume
import java.io.File
import java.util.zip.ZipFile
import kotlin.test.Test
@@ -15,8 +14,6 @@ import kotlin.test.assertFalse
import kotlin.test.assertTrue
class KlibBasedMppIT : BaseGradleIT() {
override val defaultGradleVersion = GradleVersionRequired.AtLeast("6.1")
companion object {
private const val MODULE_GROUP = "com.example"
}
@@ -31,7 +31,7 @@ class MppHighlightingTestDataWithGradleIT : BaseGradleIT() {
}
}
private val project by lazy { Project("mpp-source-set-hierarchy-analysis", GradleVersionRequired.AtLeast("6.0")) }
private val project by lazy { Project("mpp-source-set-hierarchy-analysis") }
private fun doTest(cliCompiler: CliCompiler) = with(project) {
val expectedErrorsPerSourceSetName = sourceRoots.associate { sourceRoot ->
@@ -17,7 +17,7 @@ import kotlin.test.assertTrue
class KotlinAndroidExtensionIT : BaseGradleIT() {
override fun defaultBuildOptions(): BuildOptions {
return super.defaultBuildOptions().copy(
androidGradlePluginVersion = AGPVersion.v3_1_0,
androidGradlePluginVersion = AGPVersion.v3_4_1,
androidHome = KtTestUtil.findAndroidSdk()
)
}
@@ -17,7 +17,7 @@ import kotlin.test.assertTrue
class KotlinProjectIT : BaseGradleIT() {
override fun defaultBuildOptions(): BuildOptions {
return super.defaultBuildOptions().copy(
androidGradlePluginVersion = AGPVersion.v3_1_0,
androidGradlePluginVersion = AGPVersion.v3_4_1,
androidHome = KtTestUtil.findAndroidSdk()
)
}
@@ -6,16 +6,12 @@
package org.jetbrains.kotlin.gradle.tasks
import org.jetbrains.kotlin.gradle.BaseGradleIT
import org.jetbrains.kotlin.gradle.GradleVersionRequired
import org.jetbrains.kotlin.gradle.transformProjectWithPluginsDsl
import org.junit.Test
class CleanDataTaskIT : BaseGradleIT() {
override val defaultGradleVersion: GradleVersionRequired
get() = GradleVersionRequired.AtLeast("6.1")
@Test
fun testDownloadedFolderDeletion() {
val project = transformProjectWithPluginsDsl("cleanTask")
@@ -25,5 +21,4 @@ class CleanDataTaskIT : BaseGradleIT() {
}
}
}
@@ -18,10 +18,6 @@ class AGPVersion private constructor(private val versionNumber: VersionNumber) {
fun fromString(versionString: String): AGPVersion =
AGPVersion(VersionNumber.parse(versionString))
val v3_0_0 = fromString("3.0.0")
val v3_1_0 = fromString("3.1.0")
val v3_2_0 = fromString("3.2.0")
val v3_3_2 = fromString("3.3.2")
val v3_4_1 = fromString("3.4.1")
val v3_6_0 = fromString("3.6.0")
val v4_1_0 = fromString("4.1.0-beta02")
@@ -43,11 +43,7 @@ private constructor() {
val detector = MultiplePluginDeclarationDetector()
instance = detector
if (isConfigurationCacheAvailable(gradle)) {
BuildFinishedListenerService.getInstance(gradle).onClose { instance = null }
} else {
gradle.buildFinished { instance = null }
}
BuildFinishedListenerService.getInstance(gradle).onClose { instance = null }
return detector
}
@@ -141,18 +141,10 @@ public class GradleCompileTaskProvider {
sessionsDir = GradleCompilerRunner.sessionsDir(task.project)
projectName = task.project.rootProject.name.normalizeForFlagFile()
val modulesInfo = GradleCompilerRunner.buildModulesInfo(task.project.gradle)
buildModulesInfo = if (!isConfigurationCacheAvailable(task.project.gradle)) {
task.project.provider {
object : IncrementalModuleInfoProvider {
override val info = modulesInfo
}
}
} else {
task.project.gradle.sharedServices.registerIfAbsent(
IncrementalModuleInfoBuildService.getServiceName(), IncrementalModuleInfoBuildService::class.java
) {
it.parameters.info.set(modulesInfo)
}
buildModulesInfo = task.project.gradle.sharedServices.registerIfAbsent(
IncrementalModuleInfoBuildService.getServiceName(), IncrementalModuleInfoBuildService::class.java
) {
it.parameters.info.set(modulesInfo)
}
path = task.path
logger = task.logger
@@ -31,7 +31,7 @@ import org.gradle.api.tasks.bundling.AbstractArchiveTask
import org.gradle.util.GradleVersion
import java.io.File
const val minSupportedGradleVersion = "5.3"
const val minSupportedGradleVersion = "6.1"
internal val Task.inputsCompatible: TaskInputs get() = inputs