Heads up: Java 25 vs. ECJLINT Gradle task and Eclipse IDE
Uwe Schindler <[email protected]>
| Newsgroups | gmane.comp.jakarta.lucene.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi, just some warning to all: Please avoid at moment any new Java 25 features in main branch like the JEP 512 "flexible ctor bodies" (https://openjdk.org/jeps/513). They work with Javac, but IDE support (Eclipse) and Linting with the Eclipse ECJ compiler (that our build is doing) is heavily buggy! If you figure out that ECJ linting fails with errors like "final field may/have already assigned" after you did change some code, you may have hit one of those bugs. In that case Javac by OpenJDK is the only valid source of truth. If you hit such bugs, please open issues like this to get this fixed as soon as possible: https://github.com/eclipse-jdt/eclipse.jdt.core/issues/4449 In most cases there a ways to avoid the issue by reshuffling the code, but best is to for now avoid any assignments in constructors before super() or this(). In addition because the Eclipse IDE uses an older version of ECJ with two fatal bugs (one older one with IndexReaderContext sealed classes and another one with JEP 512 where a final field assignment is not seen), our code currently does not compile with Eclipse IDE, so stay tuned. Uwe P.S.: I will be on travel whole October and have less time to react by mail. I will try to get a forbiddenapis release out end of this week, but I am stilll waiting for an ASM release. If it does not work, I will release with partial Java 25 and no Java 26 support. -- Uwe Schindler Achterdiek 19, D-28357 Bremen https://www.thetaphi.de eMail: [email protected]