[Gradle] Fix kapt tests compatability with Gradle 8.0
^KT-59588 Fixed
This commit is contained in:
committed by
Space Team
parent
61a9dcd8e6
commit
faa74d124f
+3
@@ -46,6 +46,9 @@ class Kapt3AndGradleDaemon : KGPDaemonsBaseTest() {
|
||||
}
|
||||
|
||||
@DisplayName("Annotation processor class should be loaded only once")
|
||||
// Since Gradle 8.0 toolchain is always configured.
|
||||
// Which forces Kapt tasks to run using workers with process isolation,
|
||||
// which is not compatible with classloaders caching.
|
||||
@GradleTestVersions(maxVersion = TestVersions.Gradle.G_7_6)
|
||||
@GradleTest
|
||||
fun testAnnotationProcessorClassIsLoadedOnce(gradleVersion: GradleVersion) {
|
||||
|
||||
+8
-3
@@ -893,8 +893,6 @@ open class Kapt3IT : Kapt3BaseIT() {
|
||||
}
|
||||
|
||||
@DisplayName("KT-31127: processor using Filer api does not break 'javaCompile' task")
|
||||
@GradleTestVersions(maxVersion = TestVersions.Gradle.G_7_6)
|
||||
@AndroidTestVersions(maxVersion = TestVersions.AGP.AGP_74)
|
||||
@GradleTest
|
||||
fun testKotlinProcessorUsingFiler(gradleVersion: GradleVersion) {
|
||||
project("kotlinProject", gradleVersion) {
|
||||
@@ -931,7 +929,6 @@ open class Kapt3IT : Kapt3BaseIT() {
|
||||
|
||||
@DisplayName("should do annotation processing when 'sourceCompatibility = 8' and JDK is 11+")
|
||||
@JdkVersions(versions = [JavaVersion.VERSION_11])
|
||||
@GradleTestVersions(maxVersion = TestVersions.Gradle.G_7_6)
|
||||
@GradleWithJdkTest
|
||||
fun testSimpleWithJdk11AndSourceLevel8(
|
||||
gradleVersion: GradleVersion,
|
||||
@@ -946,6 +943,14 @@ open class Kapt3IT : Kapt3BaseIT() {
|
||||
"\nsourceCompatibility = '8'"
|
||||
)
|
||||
|
||||
// because Java sourceCompatibility is fixed JVM target will different with JDK 11 on Gradle 8
|
||||
// as the toolchain by default will use the Gradle JDK version
|
||||
gradleProperties.appendText(
|
||||
"""
|
||||
|kotlin.jvm.target.validation.mode=warning
|
||||
""".trimMargin()
|
||||
)
|
||||
|
||||
build("assemble") {
|
||||
assertTasksExecuted(":kaptKotlin", ":kaptGenerateStubsKotlin")
|
||||
assertOutputContains("Javac options: {-source=1.8}")
|
||||
|
||||
-1
@@ -93,7 +93,6 @@ open class KaptIncrementalWithAggregatingApt : KaptIncrementalIT() {
|
||||
|
||||
@DisplayName("Incremental changes in JDK9+")
|
||||
@JdkVersions(versions = [JavaVersion.VERSION_1_9])
|
||||
@GradleTestVersions(maxVersion = TestVersions.Gradle.G_7_6)
|
||||
@GradleWithJdkTest
|
||||
fun testIncrementalChangesWithJdk9(gradleVersion: GradleVersion, jdk: JdkVersions.ProvidedJdk) {
|
||||
kaptProject(gradleVersion, buildJdk = jdk.location) {
|
||||
|
||||
+11
-2
@@ -166,9 +166,11 @@ open class KaptIncrementalWithIsolatingApt : KaptIncrementalIT() {
|
||||
|
||||
@DisplayName("KT-33617: sources in compile classpath jars")
|
||||
@JdkVersions(versions = [JavaVersion.VERSION_11])
|
||||
@GradleTestVersions(maxVersion = TestVersions.Gradle.G_7_6)
|
||||
@GradleWithJdkTest
|
||||
fun testSourcesInCompileClasspathJars(gradleVersion: GradleVersion, jdk: JdkVersions.ProvidedJdk) {
|
||||
fun testSourcesInCompileClasspathJars(
|
||||
gradleVersion: GradleVersion,
|
||||
jdk: JdkVersions.ProvidedJdk
|
||||
) {
|
||||
kaptProject(gradleVersion, buildJdk = jdk.location) {
|
||||
// create jar with .class and .java file for the same type
|
||||
ZipOutputStream(projectPath.resolve("lib-with-sources.jar").outputStream()).use {
|
||||
@@ -299,6 +301,13 @@ open class KaptIncrementalWithIsolatingApt : KaptIncrementalIT() {
|
||||
buildOptions = defaultBuildOptions.copy(androidVersion = agpVersion),
|
||||
buildJdk = providedJdk.location
|
||||
) {
|
||||
// Remove the once minimal supported AGP version will be 8.1.0: https://issuetracker.google.com/issues/260059413
|
||||
gradleProperties.appendText(
|
||||
"""
|
||||
|kotlin.jvm.target.validation.mode=warning
|
||||
""".trimMargin()
|
||||
)
|
||||
|
||||
build("clean", ":mylibrary:assembleDebug")
|
||||
|
||||
subProject("baseLibrary")
|
||||
|
||||
+11
-2
@@ -11,10 +11,14 @@ import org.jetbrains.kotlin.gradle.Kapt3BaseIT
|
||||
import org.jetbrains.kotlin.gradle.testbase.*
|
||||
import org.junit.jupiter.api.DisplayName
|
||||
import java.io.File
|
||||
import kotlin.io.path.appendText
|
||||
|
||||
@DisplayName("android with kapt3 external dependencies tests")
|
||||
@AndroidGradlePluginTests
|
||||
class Kapt3AndroidExternalIT : Kapt3BaseIT() {
|
||||
|
||||
// Deprecated and doesn't work with Gradle 8 + AGP 8, so keeping max Gradle version as 7.6
|
||||
// For example: https://github.com/JakeWharton/butterknife/issues/1686
|
||||
@DisplayName("kapt works with butterknife")
|
||||
@GradleTestVersions(maxVersion = TestVersions.Gradle.G_7_6)
|
||||
@AndroidTestVersions(maxVersion = TestVersions.AGP.AGP_74)
|
||||
@@ -129,8 +133,6 @@ class Kapt3AndroidExternalIT : Kapt3BaseIT() {
|
||||
}
|
||||
|
||||
@DisplayName("kapt works with databinding")
|
||||
@GradleTestVersions(maxVersion = TestVersions.Gradle.G_7_6)
|
||||
@AndroidTestVersions(maxVersion = TestVersions.AGP.AGP_74)
|
||||
@GradleAndroidTest
|
||||
fun testDatabinding(
|
||||
gradleVersion: GradleVersion,
|
||||
@@ -144,6 +146,13 @@ class Kapt3AndroidExternalIT : Kapt3BaseIT() {
|
||||
// TODO: remove the `if` when we drop support for [TestVersions.AGP.AGP_42]
|
||||
buildJdk = if (jdkVersion.version >= JavaVersion.VERSION_11) jdkVersion.location else File(System.getProperty("jdk11Home"))
|
||||
) {
|
||||
// Remove the once minimal supported AGP version will be 8.1.0: https://issuetracker.google.com/issues/260059413
|
||||
gradleProperties.appendText(
|
||||
"""
|
||||
|kotlin.jvm.target.validation.mode=warning
|
||||
""".trimMargin()
|
||||
)
|
||||
|
||||
build(
|
||||
"assembleDebug", "assembleAndroidTest",
|
||||
) {
|
||||
|
||||
+11
-6
@@ -36,8 +36,6 @@ class Kapt3AndroidIT : Kapt3BaseIT() {
|
||||
}
|
||||
|
||||
@DisplayName("KT-25374: kapt doesn't fail with anonymous classes with IC")
|
||||
@GradleTestVersions(maxVersion = TestVersions.Gradle.G_7_6)
|
||||
@AndroidTestVersions(maxVersion = TestVersions.AGP.AGP_74)
|
||||
@GradleAndroidTest
|
||||
fun testICWithAnonymousClasses(
|
||||
gradleVersion: GradleVersion,
|
||||
@@ -50,6 +48,12 @@ class Kapt3AndroidIT : Kapt3BaseIT() {
|
||||
buildOptions = defaultBuildOptions.copy(androidVersion = agpVersion),
|
||||
buildJdk = jdkVersion.location
|
||||
) {
|
||||
gradleProperties.appendText(
|
||||
"""
|
||||
|kotlin.jvm.target.validation.mode=warning
|
||||
""".trimMargin()
|
||||
)
|
||||
|
||||
build("assembleDebug") {
|
||||
assertKaptSuccessful()
|
||||
}
|
||||
@@ -121,8 +125,6 @@ class Kapt3AndroidIT : Kapt3BaseIT() {
|
||||
}
|
||||
|
||||
@DisplayName("KT-31127: kapt doesn't break JavaCompile when using Filer API")
|
||||
@GradleTestVersions(maxVersion = TestVersions.Gradle.G_7_6)
|
||||
@AndroidTestVersions(maxVersion = TestVersions.AGP.AGP_74)
|
||||
@GradleAndroidTest
|
||||
fun testKotlinProcessorUsingFiler(
|
||||
gradleVersion: GradleVersion,
|
||||
@@ -135,6 +137,7 @@ class Kapt3AndroidIT : Kapt3BaseIT() {
|
||||
buildOptions = defaultBuildOptions.copy(androidVersion = agpVersion),
|
||||
buildJdk = jdkVersion.location
|
||||
) {
|
||||
// Remove the once minimal supported AGP version will be 8.1.0: https://issuetracker.google.com/issues/260059413
|
||||
//language=properties
|
||||
gradleProperties.append(
|
||||
"""
|
||||
@@ -144,11 +147,13 @@ class Kapt3AndroidIT : Kapt3BaseIT() {
|
||||
)
|
||||
|
||||
buildGradle.appendText(
|
||||
//language=groovy
|
||||
"""
|
||||
apply plugin: 'kotlin-kapt'
|
||||
android {
|
||||
libraryVariants.all {
|
||||
it.getGenerateBuildConfigProvider().get().enabled = false
|
||||
libraryVariants.configureEach {
|
||||
def generateTaskProvider = it.getGenerateBuildConfigProvider()
|
||||
if (generateTaskProvider != null) generateTaskProvider.configure { enabled = false }
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
-5
@@ -26,11 +26,6 @@ android {
|
||||
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
||||
}
|
||||
}
|
||||
|
||||
compileOptions {
|
||||
sourceCompatibility 1.8
|
||||
targetCompatibility 1.8
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
|
||||
-6
@@ -23,12 +23,6 @@ android {
|
||||
minifyEnabled false
|
||||
}
|
||||
}
|
||||
|
||||
compileOptions {
|
||||
sourceCompatibility 1.8
|
||||
targetCompatibility 1.8
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
dependencies {
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="org.maw.library">
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<application>
|
||||
<activity android:name="org.maw.library.BlankActivity"/>
|
||||
</application>
|
||||
|
||||
-5
@@ -12,11 +12,6 @@ repositories {
|
||||
}
|
||||
}
|
||||
|
||||
java {
|
||||
sourceCompatibility = JavaVersion.VERSION_1_8
|
||||
targetCompatibility = JavaVersion.VERSION_1_8
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
|
||||
implementation "org.jetbrains.kotlin:annotation-processor-example:$kotlin_version"
|
||||
|
||||
Reference in New Issue
Block a user