Hi,

This is because the compilation/processing is different. The files are compiled with a Java 24 API extract (apijar file) of the Incubator modules and are NOT compiled against the current JDK. In addition it allows us to make sure no classes from there appear in public APIs or can be referenced from there. This is done because compilation with "-release" does not work with a later JDK like 25 (as it is not part of backwards compatibility) and the APIs may suddenly change in later Java versions. Therefore the compilation is done using a stub: https://github.com/apache/lucene/tree/main/lucene/core/src/generated/jdk

In addition when Panama Vector enters Preview mode (should happen hopefully soon after Java 25) we need a separate sourceset anyways.

Uwe

Am 08.07.2025 um 16:58 schrieb Michael Sokolov:
I'm curious why we have lucene/core/src/java24 directory/module on main branch instead of moving these classes to lucene/core/src/java, now that JDK24 is mandatory.

--
Uwe Schindler
Achterdiek 19, D-28357 Bremen
https://www.thetaphi.de
eMail:u...@thetaphi.de

Reply via email to