Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [jdt-dev] RFC - Withdrawing compiler support for older versions of Java levels

Hi Srikanth,

I must confess that Tycho is using the feature to compile for 1.1 JVMs [1] but it must consider more as a show-case for what JDT is capable of instead of an real use case and of course one can still use old compiler version for that.

But javac is dropping old targets is kind of bad (for me) as I found the --target option very powerful to do all work with the same vm/compiler/... so if JDT can retain as much as maintainable is defiantly plus (for me) e.g. java 8 sounds like a good lower bound these days.

I think the bigger impact would though be on the IDE side as it means one needs to use an older IDE or running multiple installations in parallel if e.g java 1.8 is the lowest target I can't work anymore on projects 1.6 or 1.4 ... not that I would wish that for anyone but I know some legacy projects having such configuration.


[1] https://github.com/eclipse-tycho/tycho/blob/b35d8e04f038e709f1b20650397e02da8446b32a/tycho-lib-detector/pom.xml#L32

Am 28.03.24 um 11:25 schrieb Sankaran, Srikanth via jdt-dev:
Hello!

Greetings.

I am a committer on the JDT/Core project – specifically focussed on the Eclipse Compiler for Java.

 1. I invite comments and objections with justifications to a
    hypothetical removal of support

for compiling “ancient” Java code using the latest versions of ECJ or Eclipse IDE/SDK.

Presently, using  window/project preferences, you can configure the compiler to use

ancient versions of Java for

 1. *Compiler compliance level : *Currently supports all the way back to
    1.3 **
 2. *Source compatibility:* Currently supports all the way back to 1.3**
 3. *Generated .class file compatibility* : Currently supports all the
    way back to 1.1 and CLDC 1.1**

Eclipse compiler code can be modernized quite a bit by dropping support for ancient versions.

By reducing code clutter, we can also bring down the maintenance burden and flatten the learning curve.

Testing cycles will also come down. Currently when a JDT committer runs tests locally, tests are run at all

supported levels.

As a comparison, javac from JDK22 does not support source levels below 8. I am proposing we do the same.

 2. Independently, I would also like to hear comments/objections with
justifications for removing support for CLDC_1_1 as a target. Most folks I check with haven’t even heard of this configuration (embedded ??)

Past versions of Eclipse SDK/IDE and ecj.jar’s will continue to be hosted at their usual habitat. We are only talking

about newer evolving version of Eclipse/ECJ

Thanks!

Srikanth


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


Back to the top