You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Vladimir Sitnikov (Jira)" <ji...@apache.org> on 2026/09/21 20:40:00 UTC
[jira] [Commented] (CALCITE-4553) Use Gradle toolchain to compile Calcite with JDK 25 and --release 8
[ https://issues.apache.org/jira/browse/CALCITE-4553?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18117851#comment-18117851 ]
Vladimir Sitnikov commented on CALCITE-4553:
--------------------------------------------
I'm narrowing this issue to the JDK that compiles Calcite. The JDK that runs the tests stays as it is: the one that runs Gradle.
PR: https://github.com/apache/calcite/pull/5278
[~julianhyde], I now propose to compile with JDK 25 by default, with {{--release 8}}, so the bytecode and the API stay at Java 8. Older javac versions have known bugs that JDK 25 does not, and they matter most with the nullability annotations Calcite uses. Tests still run on the user's JDK, so moving to a new JDK still shows its runtime problems, and CI keeps testing on JDK 8, 11, 17, 21, and 24.
The compiler version is the {{jdkBuildVersion}} property, for instance {{-PjdkBuildVersion=21}}. The ErrorProne and Checker Framework CI jobs pass {{-PjdkBuildVersion=11}}, because ErrorProne 2.5.1 fails on JDK 25.
> Use Gradle toolchain to compile Calcite with JDK 25 and --release 8
> -------------------------------------------------------------------
>
> Key: CALCITE-4553
> URL: https://issues.apache.org/jira/browse/CALCITE-4553
> Project: Calcite
> Issue Type: Improvement
> Components: build
> Affects Versions: 1.26.0
> Reporter: Vladimir Sitnikov
> Priority: Major
>
> [Gradle Toolchains|https://docs.gradle.org/6.8.3/userguide/toolchains.html] can use different JVM for Gradle execution and for the build process.
> It might help for testing newer Javas which are not yet supported for Gradle execution.
> For instance, it can be "use the current JVM by default", and "use -PcalciteJavaHome=... JVM" if the property is added.
> Toolchains can be auto-provisioned, so it might simplify testing for the end-users.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)