From d47981f07bc5bdb32528a0b0608a1f8e36dee243 Mon Sep 17 00:00:00 2001 From: Ilya Gorbunov Date: Thu, 28 May 2020 01:56:35 +0300 Subject: [PATCH] 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. --- .../kotlin/gradle/BuildCacheRelocationIT.kt | 2 +- .../jetbrains/kotlin/gradle/Kapt3AndroidIT.kt | 55 ++++++------------- 2 files changed, 18 insertions(+), 39 deletions(-) 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 a80a8bf323b..da6e6fd6424 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 @@ -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() ) 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 842a84cd43c..ba964e58141 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 @@ -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() } } } \ No newline at end of file