You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
On Gradle 7.6.3, when this library is included in the classpath that is sent to the Java compiler, it fails to incrementally compile:
[INFO] [org.gradle.api.internal.tasks.compile.incremental.SelectiveCompiler] Full recompilation is required because FastIntegerMath.class could not be analyzed for incremental compilation. See the debug log for more details. Analysis took 0.439 secs.
(I could not see more details in the debug log)
Projects that used to recompile in seconds now take minutes, which destroys devex.
Expected Behavior
Incremental compilation continues to work when multi-release jars contain classes that are too high for Gradle to understand.
Under the scenes, I would expect these classes to be ignored like, in the multi-release jar fixes for the plugin classpath instrumentation (#27633).
Either that, or merely bumping asm may be enough as temporary fix.
Context (optional)
The context is the same for the plugin classpath issue: #27156 (comment) (please read).
Summary: We are in the middle of an immense Gradle 7 -> Gradle 8 migration. As a customer of a number of governments, we must keep libraries updated when there are CVEs (this is our sad compliance reality). A CVE could force us to upgrade Jackson at any time. This would cause all projects still on Gradle 7 to lose incremental compilation, hugely damaging devex. It's not quite as bad as the plugin classpath issue, but still not good.
Unless this had been fixed in Gradle 8, current and future versions of Gradle will also have the same problem for multi-release jars for future versions of java. Ideal would be fixing it similar to the plugin classpath instrumentation fixes to stop this happening in the future.
Gradle 7.6.4 has not be released yet - would it be possible to slip in a fix for this too? Even if it's just an asm bump, that would buy us plenty of time.
Current Behavior
Jackson 2.16.1's
jackson-core
library is a multi-release jar containing a Java 21 (class file major version 65) class:On Gradle 7.6.3, when this library is included in the classpath that is sent to the Java compiler, it fails to incrementally compile:
(I could not see more details in the debug log)
Projects that used to recompile in seconds now take minutes, which destroys devex.
Expected Behavior
Incremental compilation continues to work when multi-release jars contain classes that are too high for Gradle to understand.
Under the scenes, I would expect these classes to be ignored like, in the multi-release jar fixes for the plugin classpath instrumentation (#27633).
Either that, or merely bumping asm may be enough as temporary fix.
Context (optional)
The context is the same for the plugin classpath issue: #27156 (comment) (please read).
Summary: We are in the middle of an immense Gradle 7 -> Gradle 8 migration. As a customer of a number of governments, we must keep libraries updated when there are CVEs (this is our sad compliance reality). A CVE could force us to upgrade Jackson at any time. This would cause all projects still on Gradle 7 to lose incremental compilation, hugely damaging devex. It's not quite as bad as the plugin classpath issue, but still not good.
Unless this had been fixed in Gradle 8, current and future versions of Gradle will also have the same problem for multi-release jars for future versions of java. Ideal would be fixing it similar to the plugin classpath instrumentation fixes to stop this happening in the future.
Gradle 7.6.4 has not be released yet - would it be possible to slip in a fix for this too? Even if it's just an asm bump, that would buy us plenty of time.
Steps to Reproduce
Run
repro.sh
in this repo: https://github.com/CRogers/gradle-7.6.3-inc-compilation-jacksonGradle version
7.6.3
Build scan URL (optional)
No response
Your Environment (optional)
No response
The text was updated successfully, but these errors were encountered: