Hi all,

sorry for cross-posting, but I would like to take your attention to JDT 
specific topic that may affect some downstream JDT consumers.

*** Request to move JDT to Java 11 ***

1) I request that JDT stops supporting compilation of JDT code on Java 8 and 
execution of JDT code on Java 8, for the 4.21 release, and switches to compile 
JDT project code against Java 11 libraries.
2) If this request would be agreed / approved, I would like to add an item to 
the 4.21 release plan [1] that Eclipse Compiler for Java (ecj) can only be used 
on Java 11+ runtime environment.

*** Reason for this request ***

JDT team is a very small team, overloaded since a very long time with support 
of various Java releases in compiler.
This team can't afford to support running ecj on Java 8 AND on Java 11 AND on 
Java 16 AND on Java 17+ etc.
The code complexity and the issues we see in JDT are overwhelming and 
constantly growing. 
With every Java release more and more features need to be added to the code 
base, and the maintenance burden is becoming bigger, not smaller!

To simplify maintainers life and save time for proper Eclipse Java compiler 
support we should declare end of "run on Java 8" support in JDT code.
To be honest: since we are not testing ecj on Java 8 since long time, no one 
can guarantee that any recent ecj version can run on Java 8 anyway.

*** Important note ***

This request doesn't mean JDT would not support compilation of programs with 
Java 8 target!  
We still support compilation targets from Java 1.3 to the latest Java release.

This request is only about JDT own project code that will be compiled with Java 
11 target. Moving JDT to Java 11 would also open a door for possible 
contributions that could use API's only available since Java 9+, but that's not 
the main driver here.

Please note, that Eclipse platform (IDE/RCP) as a whole does not support 
compilation/execution on Java 8 since 4.17 release (2020-09) and we do not run 
any tests on Java 8 that would guarantee Java 8 compliance.

There is a discussion on bug 572389 [2], which is not a new one. Most of the 
Platform projects are already moved to compile against Java 11, only some parts 
of JDT related to the standalone compiler are still (theoretically) compatible 
to Java 8, the IDE part of JDT has dependencies to libraries / bundles that 
only support Java 11+.

*** What downstream consumers could do after move ***

If JDT code base is moved to Java 11, downstream consumers can do following:

1) Use previously released JDT / ecj versions.
2) Run the build/application using JDT on Java 11+.
3) Clone JDT code and build / maintain own fork, compatible to Java 8.
4) Contribute to JDT.

*** Action item for PMC / JDT team *** 

Please, can we make a decision & have an agreement to drop "run on Java 8" 
support for 4.21, and move JDT code to Java 11?
*If* not 4.21, can we please make a decision & have an agreement to drop "run 
on Java 8" support in JDT for some *concrete* platform version?

PS

Before someone would write an answer asking JDT project to continue "run on 
Java 8" support - please provide a *concrete* proposal, how *you* or your 
organisation could contribute to JDT, because nobody else is there that would 
have time to do that.

[1] 
https://www.eclipse.org/projects/project-plan.php?planurl=http://www.eclipse.org/eclipse/development/plans/eclipse_project_plan_4_21.xml
[2] https://bugs.eclipse.org/bugs/show_bug.cgi?id=572389

Kind regards,
Andrey Loskutov

Спасение утопающих - дело рук самих утопающих

https://www.eclipse.org/user/aloskutov

_______________________________________________
cross-project-issues-dev mailing list
cross-project-issues-dev@eclipse.org
To unsubscribe from this list, visit 
https://www.eclipse.org/mailman/listinfo/cross-project-issues-dev

Reply via email to