spotbugs / spotbugs-gradle-plugin

https://plugins.gradle.org/plugin/com.github.spotbugs
Apache License 2.0
180 stars 68 forks source link

fix: remaining configuration cache issues #1245

Open lukasgraef opened 1 month ago

lukasgraef commented 1 month ago

resolves #1096

lukasgraef commented 1 month ago

In Gradle 7.6.3, testcases that perform two consecutive Builds using gradle's testkit, somehow fail if both builds are using config-cache. Deactivating the config-cache for one of these consecutive runs, resolves the problem. Therefore, I added the "--no-configuration-cache" flag to the first gradle testkit build in three testcases.

This issue is not present in the gradle 8.1 and "current" testcases.

hazendaz commented 1 month ago

using gradle's testkit, somehow fail if both builds are using con

I'm updating the build from gradle 7.6.3 to 7.6.4. Can you recheck that condition after you see master updated here?

lukasgraef commented 1 month ago

@hazendaz I tried it out locally with 7.6.4, but still no luck :( The weird thing is that the failure is caused by a ClassNotFoundException that happens only on the second consecutive run with config-cache on:

Caused by: java.lang.ClassNotFoundException: com.github.spotbugs.snom.SpotBugsTask$$Lambda$689/0x0000000801225728
    at org.gradle.configurationcache.serialization.DefaultReadContext.readClass(Contexts.kt:285)
    at org.gradle.configurationcache.serialization.codecs.BeanCodec.decode(BeanCodec.kt:44)
    at org.gradle.configurationcache.serialization.CombinatorsKt$reentrant$1$decodeLoop$1.invokeSuspend(Combinators.kt:165)
    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)