Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [eclipse-dev] Move JDT to Java 11

Hi Alexander, Andrey,
 
Thanks for the mail chain.  As a JDT lead and also taking into consideration the long legacy of Eclipse, my take as mentioned in [2] comment 11 is reproduced below verbatim:
 
"I would prefer an early mail being sent across to various mailing lists (in the hope of *everyone* will see this) much before.
Traditionally, ecj was always behind the current release - and now in the 6 month release cadence, I would consider only LTS as  the major release. Given that the LTS is 11 at this point, I think it is fine as long as ecj continues to be on the previous LTS version which is 8 prior to the current LTS (11) unless there is a pressing need. 

If we agree to this, then we can think of moving ecj to 11 when the next LTS version is supported by ecj source, ie after Java 17 support is into ecj. 4.21 (Sep 2021) will have Java 17 support as a patch build only, so we are looking at 4.22 ie the December 2021 release for the ecj upgrade to Java 11 - ie, if there is a consensus to upgrade to Java 11"
Now since Andrey has brought up this issue, let  me re-iterate my stand here albeit with a modification. If it feels that there is a pressing need to move to 11 in 4.21, let us announce it in the cross-project/eclipse general mailing lists which Andrey has already gone ahead. And then lets wait for a few days (a week?) in M1 time frame.
 
However, I would like to make sure that this is a repeatable process and we stick to a particular mode.
In this case, the mode will be "let us move to the last stable release just before the BETA support for the next stable version is expected" instead of "let us move to the last stable release along with the BETA support of the next stable version".
 
If we announce this also, then the customers are not taken by surprise for the move and they can always plan for the same.
 
For those TL;DR, Here is the gist:
 
Option 1: Move to Prev Stable (11) when Next Stable(17) is supported => 4.22
Option 2: Move to Prev Stable(11) just before Next Stable(17) is supported => 4.21
 
My preference would be option 1 still, given that the expectation is set always in sync with the next stable version, more logically. However, am open for the 2 as well, but with weighted preferences for those in the JDT.Core team who finally ends up supporting this.
 
Regards,
Manoj
 
 
----- Original message -----
From: "Alexander Kriegisch" <alexander@xxxxxxxxxxxxxx>
Sent by: "eclipse-dev" <eclipse-dev-bounces@xxxxxxxxxxx>
To: eclipse-dev@xxxxxxxxxxx
Cc:
Subject: [EXTERNAL] Re: [eclipse-dev] Move JDT to Java 11
Date: Wed, Jun 16, 2021 9:16 PM
 
On behalf of the AspectJ project and as the person who started the
related discussion in [1] (which led to [2]), I want to say that we are
glad that there is some clarification going on, even if it means losing
JDK 8 as a build and target platform. We understand that there are
limited resources to maintain this complex project, and as a consuming
Eclipse sibling project forking JDT Core (mostly ECJ) for the AspectJ
compiler, we will follow whatever decision is made upstream. If our
embracing your decision can help unblock overworked developers, we
sympathise, being in a similar situation. As long as we can still
compile to legacy target levels (most notably 8), we should be fine.
--
Alexander Kriegisch


[1] https://www.eclipse.org/lists/eclipse-dev/msg11669.html
[2] https://bugs.eclipse.org/bugs/show_bug.cgi?id=573283



Andrey Loskutov schrieb am 16.06.2021 20:31 (GMT +07:00):

> 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
>
> _______________________________________________
> eclipse-dev mailing list
> eclipse-dev@xxxxxxxxxxx
> To unsubscribe from this list, visit
> https://www.eclipse.org/mailman/listinfo/eclipse-dev
>
_______________________________________________
eclipse-dev mailing list
eclipse-dev@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/eclipse-dev
 



Back to the top