[Gradle] Add an integration test for KT-58326

This commit is contained in:
Alexander.Likhachev
2023-08-30 20:24:10 +02:00
committed by Space Team
parent 91e96e9f31
commit 3a246d3a1d
@@ -464,6 +464,38 @@ open class Kapt3IT : Kapt3BaseIT() {
}
}
@Disabled
@DisplayName("Should incrementally rebuild on annotation processor arguments change")
@GradleTest
fun testChangeAPArgumentsICRebuild(gradleVersion: GradleVersion) {
project("arguments".withPrefix, gradleVersion) {
build("build") {
assertKaptSuccessful()
assertOutputContains("AP options: {suffix=Customized,")
assertFileInProjectExists("build/generated/source/kapt/main/example/TestClassCustomized.java")
assertFileExists(kotlinClassesDir().resolve("example/TestClass.class"))
assertFileExists(javaClassesDir().resolve("example/TestClassCustomized.class"))
}
buildGradle.modify {
it.replace("arg(\"suffix\", \"Customized\")", "arg(\"suffix\", \"Changed\")")
}
javaSourcesDir().resolve("test.kt").modify {
it.replace("TestClassCustomized::class.java", "TestClassChanged::class.java")
}
build("build") {
assertKaptSuccessful()
assertOutputContains("AP options: {suffix=Changed,")
assertFileInProjectExists("build/generated/source/kapt/main/example/TestClassChanged.java")
assertFileInProjectNotExists("build/generated/source/kapt/main/example/TestClassCustomized.java")
assertFileExists(kotlinClassesDir().resolve("example/TestClass.class"))
assertFileExists(javaClassesDir().resolve("example/TestClassChanged.class"))
assertFileNotExists(javaClassesDir().resolve("example/TestClassCustomized.class"))
}
}
}
// tests all output directories are cleared when IC rebuilds
private fun testICRebuild(
gradleVersion: GradleVersion,