Update AGP versions to the latest stable one.

Kotlin Gradle Plugin should run against the latest stable one versions.
This commit is contained in:
Yahor Berdnikau
2021-05-12 13:53:30 +02:00
committed by TeamCityServer
parent 73fb851864
commit aae5cc5574
8 changed files with 59 additions and 48 deletions
@@ -442,10 +442,10 @@ open class KotlinAndroid70GradleIT : KotlinAndroid36GradleIT() {
get() = AGPVersion.v7_0_0
override val defaultGradleVersion: GradleVersionRequired
get() = GradleVersionRequired.AtLeast("6.8")
get() = GradleVersionRequired.AtLeast("7.0")
override fun defaultBuildOptions(): BuildOptions {
val javaHome = File(System.getProperty("jdk11Home")!!)
val javaHome = File("/opt/openjdk-bin-11")
Assume.assumeTrue("JDK 11 should be available", javaHome.isDirectory)
return super.defaultBuildOptions().copy(javaHome = javaHome, warningMode = WarningMode.Summary)
}
@@ -153,7 +153,7 @@ class BuildCacheRelocationIT : BaseGradleIT() {
outputRootPaths = listOf("lib", "libJvm", "libJs").map { "$it/build" }
),
TestCase("AndroidProject",
gradleVersionRequirement = GradleVersionRequired.AtLeast("6.6.1"),
gradleVersionRequirement = GradleVersionRequired.AtLeast("6.7.1"),
taskToExecute = arrayOf("assembleDebug"),
cacheableTaskNames = listOf("Lib", "Android").flatMap { module ->
listOf("Flavor1", "Flavor2").flatMap { flavor ->
@@ -166,7 +166,7 @@ class BuildCacheRelocationIT : BaseGradleIT() {
androidGradlePluginVersion = AGPVersion.v4_2_0
),
TestCase("android-dagger",
gradleVersionRequirement = GradleVersionRequired.AtLeast("6.6.1"),
gradleVersionRequirement = GradleVersionRequired.AtLeast("6.7.1"),
taskToExecute = arrayOf("assembleDebug"),
projectDirectoryPrefix = "kapt2",
cacheableTaskNames = listOf("Debug").flatMap { buildType ->
@@ -33,7 +33,7 @@ class ConfigurationAvoidanceIT : BaseGradleIT() {
fun testAndroidUnrelatedTaskNotConfigured() = with(
Project(
"AndroidProject",
gradleVersionRequirement = GradleVersionRequired.AtLeast("6.6.1")
gradleVersionRequirement = GradleVersionRequired.AtLeast("6.7.1")
)
) {
setupWorkingDir()
@@ -8,12 +8,16 @@ package org.jetbrains.kotlin.gradle
import org.gradle.api.logging.configuration.WarningMode
import org.jetbrains.kotlin.gradle.util.AGPVersion
import org.jetbrains.kotlin.test.util.KtTestUtil
import org.junit.Before
import org.junit.Test
class ConfigurationCacheForAndroidIT : AbstractConfigurationCacheIT() {
private val androidGradlePluginVersion: AGPVersion
get() = AGPVersion.v4_2_0
override val defaultGradleVersion: GradleVersionRequired
get() = GradleVersionRequired.AtLeast("6.7.1")
override fun defaultBuildOptions() =
super.defaultBuildOptions().copy(
androidHome = KtTestUtil.findAndroidSdk(),
@@ -24,53 +28,23 @@ class ConfigurationCacheForAndroidIT : AbstractConfigurationCacheIT() {
@Test
fun testAndroidKaptProject() = with(Project("android-dagger", directoryPrefix = "kapt2")) {
applyAndroid40Alpha4KotlinVersionWorkaround()
setupWorkingDir()
projectDir.resolve("gradle.properties").appendText("\nkapt.incremental.apt=false")
testConfigurationCacheOf(":app:compileDebugKotlin", ":app:kaptDebugKotlin", ":app:kaptGenerateStubsDebugKotlin")
}
@Test
fun testKotlinAndroidProject() = with(Project("AndroidProject")) {
applyAndroid40Alpha4KotlinVersionWorkaround()
setupWorkingDir()
testConfigurationCacheOf(":Lib:compileFlavor1DebugKotlin", ":Android:compileFlavor1DebugKotlin")
}
@Test
fun testKotlinAndroidProjectTests() = with(Project("AndroidIncrementalMultiModule")) {
applyAndroid40Alpha4KotlinVersionWorkaround()
setupWorkingDir()
testConfigurationCacheOf(
":app:compileDebugAndroidTestKotlin", ":app:compileDebugUnitTestKotlin",
buildOptions = defaultBuildOptions().copy(warningMode = WarningMode.Summary)
)
}
/**
* Android Gradle plugin 4.0-alpha4 depends on the EAP versions of some o.j.k modules.
* Force the current Kotlin version, so the EAP versions are not queried from the
* test project's repositories, where there's no 'kotlin-eap' repo.
* TODO remove this workaround once an Android Gradle plugin version is used that depends on the stable Kotlin version
*/
private fun Project.applyAndroid40Alpha4KotlinVersionWorkaround() {
setupWorkingDir()
val resolutionStrategyHack = """
configurations.all {
resolutionStrategy.dependencySubstitution.all { dependency ->
def requested = dependency.requested
if (requested instanceof ModuleComponentSelector && requested.group == 'org.jetbrains.kotlin') {
dependency.useTarget requested.group + ':' + requested.module + ':' + '${defaultBuildOptions().kotlinVersion}'
}
}
}
""".trimIndent()
gradleBuildScript().appendText(
"\n" + """
buildscript {
$resolutionStrategyHack
}
$resolutionStrategyHack
""".trimIndent()
)
}
}
@@ -76,7 +76,7 @@ class Kapt3Android70IT : Kapt3AndroidIT() {
get() = AGPVersion.v7_0_0
override val defaultGradleVersion: GradleVersionRequired
get() = GradleVersionRequired.AtLeast("6.8")
get() = GradleVersionRequired.AtLeast("7.0")
override fun defaultBuildOptions(): BuildOptions {
val javaHome = File(System.getProperty("jdk11Home")!!)
@@ -95,11 +95,48 @@ class Kapt3Android70IT : Kapt3AndroidIT() {
@Ignore("KT-44350")
override fun testButterKnife() = Unit
@Test
override fun testInterProjectIC() {
with(Project("android-inter-project-ic", directoryPrefix = "kapt2")) {
setupWorkingDir()
// includeCompileClasspath was removed in AGP 7
projectDir.resolve("app").getFileByName("build.gradle").modify { originalContent ->
originalContent
.lines()
.filter { !it.contains("javaCompileOptions") }
.joinToString(separator = "\n")
}
build("assembleDebug") {
assertSuccessful()
assertKaptSuccessful()
}
fun modifyAndCheck(utilFileName: String, useUtilFileName: String) {
val utilKt = projectDir.getFileByName(utilFileName)
utilKt.modify {
it.checkedReplace("Int", "Number")
}
build("assembleDebug") {
assertSuccessful()
val affectedFile = projectDir.getFileByName(useUtilFileName)
assertCompiledKotlinSources(
relativize(affectedFile),
tasks = listOf("app:kaptGenerateStubsDebugKotlin", "app:compileDebugKotlin")
)
}
}
modifyAndCheck("libAndroidUtil.kt", "useLibAndroidUtil.kt")
modifyAndCheck("libJvmUtil.kt", "useLibJvmUtil.kt")
}
}
}
class Kapt3Android42IT : Kapt3BaseIT() {
override val defaultGradleVersion: GradleVersionRequired
get() = GradleVersionRequired.AtLeast("6.7")
get() = GradleVersionRequired.AtLeast("6.7.1")
override fun defaultBuildOptions(): BuildOptions =
super.defaultBuildOptions().copy(androidGradlePluginVersion = AGPVersion.v4_2_0)
@@ -205,7 +242,7 @@ abstract class Kapt3AndroidIT : Kapt3BaseIT() {
}
@Test
fun testInterProjectIC() = with(Project("android-inter-project-ic", directoryPrefix = "kapt2")) {
open fun testInterProjectIC() = with(Project("android-inter-project-ic", directoryPrefix = "kapt2")) {
build("assembleDebug") {
assertSuccessful()
assertKaptSuccessful()
@@ -266,7 +266,7 @@ class KaptIncrementalWithIsolatingApt : KaptIncrementalIT() {
val project = Project(
projectName = "kaptIncrementalWithParceler",
gradleVersionRequirement = GradleVersionRequired.AtLeast("6.6.1")
gradleVersionRequirement = GradleVersionRequired.AtLeast("6.7.1")
).apply {
setupWorkingDir()
}
@@ -1164,7 +1164,7 @@ class KotlinGradleIT : BaseGradleIT() {
fun testKtKt35942InternalsFromMainInTestViaTransitiveDepsAndroid() = with(
Project(
projectName = "kt-35942-android",
gradleVersionRequirement = GradleVersionRequired.AtLeast("6.6.1")
gradleVersionRequirement = GradleVersionRequired.AtLeast("6.7.1")
)
) {
build(
@@ -18,10 +18,10 @@ class AGPVersion private constructor(private val versionNumber: VersionNumber) {
fun fromString(versionString: String): AGPVersion =
AGPVersion(VersionNumber.parse(versionString))
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")
val v4_2_0 = fromString("4.2.0-alpha10")
val v7_0_0 = fromString("7.0.0-alpha03")
val v3_4_1 = fromString("3.4.3")
val v3_6_0 = fromString("3.6.4")
val v4_1_0 = fromString("4.1.3")
val v4_2_0 = fromString("4.2.0")
val v7_0_0 = fromString("7.0.0-alpha15")
}
}