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
  • From: Manoj Nalledathu Palat <manoj.palat@xxxxxxxxxx>
  • Date: Fri, 29 Mar 2024 08:38:13 +0000
  • Accept-language: en-GB, en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=in.ibm.com; dmarc=pass action=none header.from=in.ibm.com; dkim=pass header.d=in.ibm.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=1T1kbl2EpExZswcARgj7dpIyseFsowS7UKzAFkJ73s4=; b=i6qJjdBZbhyTTMo/9fefrt4Qlv++nFLNwBmZcEG8kje2V9htLzWwBVnA61b2POLz+aFuqJql77nO8NSHJqc+G1lJzCpytfRKcvytF1hVqE8CAp3qbIWnk2MTMc0U8HyMlOHkDDanuokG1snNZVNMInDTlEC+KJgzKE6ReL8LNlw1rt45cimf99BQ1MtyW15qff0Rq2JmQSFhfZrSph5BowSj0f/99w0ikeGL3OMMwkxpvJnzEjthHVhPvd4cRGSJlR64gWi+K+LNYxBO/eVtMY9Q/1ZNyGDUVjIIBDKdOWpT+rYPql7eeWkv5BHDPtvLU9x9/T3DuRPsFiTHMOLHQA==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=h4pZyLiFyB3ftXBGY9K4f2EsJ3hWhIvJVeQLKGvkM+fzFvZZf5iSote7vD4EjHac7AXCaVXuCvBidOk2ea1HKLrEZTiO7WMvVYnXr0vknW+hVtzPJxVGkfhUaGuEmJXLAOBB8t2ggYPJeAnDzlGEOZwasYKsu3jTur6zq9quQOTieEas3uWNgiQcJarjyzhGUnTrda7rKKitWYAF40W69P3DtFYZVgEbQg/bjDJHOF93av4taGoVBSvFF5Yq7d49QbgKMgUKrZZuNLqn7F3yAN5K0O1hpLZFyWwdqsUUYF9ubSFf9slneHUKcka/h552rExORYM0w67UGZv3xpzsRA==
  • Delivered-to: jdt-dev@xxxxxxxxxxx
  • List-archive: <https://www.eclipse.org/mailman/private/jdt-dev/>
  • List-help: <mailto:jdt-dev-request@eclipse.org?subject=help>
  • List-subscribe: <https://www.eclipse.org/mailman/listinfo/jdt-dev>, <mailto:jdt-dev-request@eclipse.org?subject=subscribe>
  • List-unsubscribe: <https://www.eclipse.org/mailman/options/jdt-dev>, <mailto:jdt-dev-request@eclipse.org?subject=unsubscribe>
  • Thread-index: AQHagbMTWcxcZkSRnkK+2vI35wGE/rFOZQJe
  • Thread-topic: [jdt-dev] RFC - Withdrawing compiler support for older versions of Java levels

Srikanth, I build anyway runs the tests in all levels every day.

 

 

From: Sankaran, Srikanth <srikanth.sankaran@xxxxxxxxxxxxx>
Date: Friday, 29 March 2024 at 1:58
PM
To: Eclipse JDT general developers list. <jdt-dev@xxxxxxxxxxx>
Cc: Manoj Nalledathu Palat <manoj.palat@xxxxxxxxxx>
Subject: [EXTERNAL] RE: [jdt-dev] RFC - Withdrawing compiler support for older versions of Java levels

For (3) below, I specifically mentioned running tests locally. I think it is still a good practice to at least occasionally do that. For the rest of the points, everything comes with a cost – the question is what is the right trade off. See

ZjQcmQRYFpfptBannerStart

This Message Is From an External Sender

This message came from outside your organization.

 

ZjQcmQRYFpfptBannerEnd

For (3) below, I specifically mentioned running tests locally. I think it is still a good practice to at least occasionally do that.

 

For the rest of the points, everything comes with a cost – the question is what is the right trade off.

 

See my point about stack map generation and exception handling in the other group.

 

Srikanth

 

From: jdt-dev <jdt-dev-bounces@xxxxxxxxxxx> On Behalf Of Manoj Nalledathu Palat via jdt-dev
Sent: Friday, March 29, 2024 10:00 AM
To: Eclipse JDT general developers list. <jdt-dev@xxxxxxxxxxx>
Cc: Manoj Nalledathu Palat <manoj.palat@xxxxxxxxxx>
Subject: Re: [jdt-dev] RFC - Withdrawing compiler support for older versions of Java levels

 

CAUTION: This email was sent from outside of Advantest.

 

Hi Srikanth,

 

 I would argue against removing the code actively; the arguments listed below:

 

  1. As I see in one of the threads, able to support older versions is an advantage over the javac – agree with this point.
  2. Since IDE is tied with ecj, whoever wanting to use compiler-agnostic features of the IDE can continue to upgrade to the latest Eclipse
  3. Tests are not run for all supported versions automatically in Jenkins when we submit a PR, its run only from 1.8. I believe Stephan made this change a few years back. So that burden is not there for the PRs unless we test explicitly.
  4. Also, in case someone wants to fix an issue on an older version, we can expect him/her to contribute rather than expecting the team to work on a priority basis.

 

 

One issue I see, from JEP 182, rt.jar could have some issues, [“when a -source N option older than the source level of rt.jar is specified, it is not clear how newer-than-release-N language artifacts in the platform libraries should be modeled to the code being compiled.”] – but given that we can give a warning for older releases we can atleast notify the user of the risk and hence I don’t think this is a blocker for keeping the ancient code.

 

Regards,

Manoj

 

 

From: jdt-dev <jdt-dev-bounces@xxxxxxxxxxx> on behalf of Stephan Herrmann via jdt-dev <jdt-dev@xxxxxxxxxxx>
Date: Thursday, 28 March 2024 at 7:47
PM
To: jdt-dev@xxxxxxxxxxx <jdt-dev@xxxxxxxxxxx>
Cc: Stephan Herrmann <stephan.herrmann@xxxxxxxxx>
Subject: [EXTERNAL] Re: [jdt-dev] RFC - Withdrawing compiler support for older versions of Java levels

Have you seen https://github.com/eclipse-jdt/eclipse.jdt.core/discussions/820 ? On 28.03.24 11:25, Sankaran, Srikanth via jdt-dev wrote: Hello! Greetings. I am a committer on the JDT/Core project – specifically focussed on the Eclipse Compiler

ZjQcmQRYFpfptBannerStart

This Message Is From an External Sender

This message came from outside your organization.

 

ZjQcmQRYFpfptBannerEnd

Have you seen https://github.com/eclipse-jdt/eclipse.jdt.core/discussions/820 ?

On 28.03.24 11:25, Sankaran, Srikanth via jdt-dev wrote:

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.

 

  1. 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