Drop gradle ITs depending on AGP versions below 3.2

AGP of these versions cannot handle module-info class included in
kotlin-stdlib artifact from now on.
This commit is contained in:
Ilya Gorbunov
2020-05-28 01:56:35 +03:00
parent a270ee094c
commit d47981f07b
2 changed files with 18 additions and 39 deletions
@@ -31,7 +31,7 @@ class BuildCacheRelocationIT : BaseGradleIT() {
override fun defaultBuildOptions(): BuildOptions =
super.defaultBuildOptions().copy(
withBuildCache = true,
androidGradlePluginVersion = AGPVersion.v3_1_0,
androidGradlePluginVersion = AGPVersion.v3_2_0,
androidHome = KotlinTestUtils.findAndroidSdk()
)
@@ -78,9 +78,8 @@ class Kapt3Android34IT : Kapt3AndroidIT() {
get() = GradleVersionRequired.Until("5.4.1")
}
open class Kapt3AndroidIT : Kapt3BaseIT() {
protected open val androidGradlePluginVersion: AGPVersion
get() = AGPVersion.v3_0_0
abstract class Kapt3AndroidIT : Kapt3BaseIT() {
protected abstract val androidGradlePluginVersion: AGPVersion
override fun defaultBuildOptions() =
super.defaultBuildOptions().copy(
@@ -98,11 +97,7 @@ open class Kapt3AndroidIT : Kapt3BaseIT() {
assertFileExists("app/build/generated/source/kapt/debug/org/example/kotlin/butterknife/SimpleActivity\$\$ViewBinder.java")
val butterknifeJavaClassesDir =
if (androidGradlePluginVersion >= AGPVersion.v3_2_0)
"app/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/org/example/kotlin/butterknife/"
else
"app/build/intermediates/classes/debug/org/example/kotlin/butterknife/"
"app/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/org/example/kotlin/butterknife/"
assertFileExists(butterknifeJavaClassesDir + "SimpleActivity\$\$ViewBinder.class")
assertFileExists("app/build/tmp/kotlin-classes/debug/org/example/kotlin/butterknife/SimpleAdapter\$ViewHolder.class")
@@ -125,10 +120,7 @@ open class Kapt3AndroidIT : Kapt3BaseIT() {
assertFileExists("app/build/generated/source/kapt/debug/com/example/dagger/kotlin/ui/HomeActivity_MembersInjector.java")
val daggerJavaClassesDir =
if (androidGradlePluginVersion >= AGPVersion.v3_2_0)
"app/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/example/dagger/kotlin/"
else
"app/build/intermediates/classes/debug/com/example/dagger/kotlin/"
"app/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/example/dagger/kotlin/"
assertFileExists(daggerJavaClassesDir + "DaggerApplicationComponent.class")
@@ -233,21 +225,10 @@ open class Kapt3AndroidIT : Kapt3BaseIT() {
assertKaptSuccessful()
assertFileExists("app/build/generated/source/kapt/debug/com/example/databinding/BR.java")
when {
output.contains("-Aandroid.databinding.enableV2=1") -> {
// databinding compiler v2 was introduced in AGP 3.1.0, was enabled by default in AGP 3.2.0
assertNoSuchFile("library/build/generated/source/kapt/debugAndroidTest/android/databinding/DataBinderMapperImpl.java")
assertFileExists("app/build/generated/source/kapt/debug/com/example/databinding/databinding/ActivityTestBindingImpl.java")
}
androidGradlePluginVersion == AGPVersion.v3_1_0 -> {
assertNoSuchFile("library/build/generated/source/kapt/debugAndroidTest/android/databinding/DataBinderMapperImpl.java")
assertFileExists("app/build/generated/source/kapt/debug/com/example/databinding/databinding/ActivityTestBinding.java")
}
else -> {
assertNoSuchFile("library/build/generated/source/kapt/debugAndroidTest/android/databinding/DataBinderMapper.java")
assertFileExists("app/build/generated/source/kapt/debug/com/example/databinding/databinding/ActivityTestBinding.java")
}
}
// databinding compiler v2 was introduced in AGP 3.1.0, was enabled by default in AGP 3.2.0
assertContains("-Aandroid.databinding.enableV2=1")
assertNoSuchFile("library/build/generated/source/kapt/debugAndroidTest/android/databinding/DataBinderMapperImpl.java")
assertFileExists("app/build/generated/source/kapt/debug/com/example/databinding/databinding/ActivityTestBindingImpl.java")
// KT-23866
assertNotContains("The following options were not recognized by any processor")
@@ -257,19 +238,17 @@ open class Kapt3AndroidIT : Kapt3BaseIT() {
private fun setupDataBinding(project: Project) {
project.setupWorkingDir()
if (androidGradlePluginVersion >= AGPVersion.v3_2_0) {
project.gradleBuildScript().modify {
it + "\n\n" + """
allprojects {
plugins.withId("kotlin-kapt") {
println("${'$'}project android.databinding.enableV2=${'$'}{project.findProperty('android.databinding.enableV2')}")
project.gradleBuildScript().modify {
it + "\n\n" + """
allprojects {
plugins.withId("kotlin-kapt") {
println("${'$'}project android.databinding.enableV2=${'$'}{project.findProperty('android.databinding.enableV2')}")
// With new AGP, there's no need in the Databinding kapt dependency:
configurations.kapt.exclude group: "com.android.databinding", module: "compiler"
}
// With new AGP, there's no need in the Databinding kapt dependency:
configurations.kapt.exclude group: "com.android.databinding", module: "compiler"
}
""".trimIndent()
}
}
""".trimIndent()
}
}
}