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