tschuchortdev / kotlin-compile-testing

A library for testing Kotlin and Java annotation processors, compiler plugins and code generation
Mozilla Public License 2.0
642 stars 61 forks source link

Behavior change after bumping up to `1.6.0` from `1.4.9` #408

Open jayasuryat opened 1 week ago

jayasuryat commented 1 week ago

I have updated the library version from 1.4.9 to 1.6.0, along with updates to Kotlin and KSP versions: Kotlin version: 1.7.0 -> 1.9.24 KSP version: 1.7.0-1.0.6 -> 1.9.24-1.0.20

Issue

After these updates, I have observed a change in the compilation results. In some instances where the result was previously KotlinCompilation.ExitCode.OK, it is now returning KotlinCompilation.ExitCode.COMPILATION_ERROR.

This new result is logical since it returns KotlinCompilation.ExitCode.COMPILATION_ERROR in scenarios where an error log is produced in the Symbol processor implementation. (Otherwise the code compiles successfully)


Question

Do you have insights into whether this behavior change was introduced by the newer library version, KSP, or the Kotlin Compiler itself?


Reproduction

I have created a minimal project that reproduces the behavior. The test that passed before the version updates is now failing after updating the versions: https://github.com/jayasuryat/KspBehaviorChangeIssue/pull/1

tschuchortdev commented 1 day ago

If I had to guess, it is probably related to internal changes in the compiler and/or KSP. At least I couldn't find any commit since 1.4.9 that would influence the error handling. There have been issues with errors originating in KSP processors before, so perhaps the new behaviour actually fixes #325?