[ 
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)

Reply via email to