Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [] Allow Java 17 as BREE in SimRel

On Tue, Apr 19, 2022 at 7:56 PM Jonah Graham <jonah@xxxxxxxxxxxxxxxx> wrote:
Thanks Ed.

That is good to know.

> of the benefits of using Java 17 (for one project).

For the record - not just one project - TM4E is just the first project, but I find myself on a regular basis wanting some of the key Java 17 features (especially text blocks and better NPE error messages, but switch expressions, instanceof and other improvements are nice too!). I would love to update CDT,

I do believe CDT can and should move far faster than the Java world. It's an EPP shipping with Java 17 already so really nothing is gained by waiting IMO. Also I don't see how the JVM Eclipse is run on matters for the regular C/C++ developer.
and LSP4J - the latter is still on Java 8, but the next release will be Java 11.

Also, it would be good for projects to develop and test with the version that we ship with.

I recognize it is going to be a while, but it would be nice if we got to Java 17 before Java 21 came out. 


Jonah Graham
Kichwa Coders

On Tue, 19 Apr 2022 at 12:39, Ed Merks <ed.merks@xxxxxxxxx> wrote:


The version of each product in the generated catalog is computed from the metadata in the product IUs, i.e., looking for this touchpoint:

  private static final String JAVA_VERSION_PREFIX = "addJvmArg(jvmArg:-Dosgi.requiredJavaVersion=";

So if you change the product definitions, that will be automatically be picked up.

I believe that Mickael has added logic that detects the actual Java version of the running IDE and complains if it's not compatible with the BREE of something you are trying to install so that's not a big problem.

That being said, I think we should carefully consider being less disruptive for our downstream community, while we still have one, and balance the need for stability against the significance of the benefits of using Java 17 (for one project).


On 19.04.2022 17:15, Jonah Graham wrote:
Hi Planning Council,

Please see the conversation[0] initiated by Mickael/TM4E project.

First a question:
Is there some restriction as to what BREE a bundle can have in SimRel. I don't see one in

If there is a restriction, how has the planning council bumped it in the past?

Regardless, what, if any, are the downsides to having some bundles with Java 17 as BREE?

My first pass at brainstorming the issue:
- 9 of the 11 EPP packages contain TM4E (only modeling and parallel don't)
- EPP already bundles Java 17, so new downloads of packages won't be a problem (assuming scout resolves [1])
- Installer needs to know what JVM versions to allow. I assume this is now based solely on the Product Version.
- Updates will be similar in scope to the Java 8 -> Java 11 transition. A lot of work was done at that time to make everything handle the case. Biggest change is now probably how to update bundled JustJ for people who are still on JustJ < 17.[2]

I suppose at some point the Eclipse Platform will update some bundle to Java 17 and the decision will be made for SimRel. In this case we have a small, but significant, project that wants to transition. On the flip side, I expect the people still bothered by the Java 8 -> Java 11 transition to not be pleased either.

Initially I want to start a discussion on this topic - if there is something that needs a formal council vote we can do that once we understand the problem space a bit better.

[0] - the first message of which is quoted below
[2] * The JustJ is somewhat an orthogonal problem


Jonah Graham
Kichwa Coders

---------- Forwarded message ---------
From: Mickael Istria <mistria@xxxxxxxxxx>
Date: Tue, 19 Apr 2022 at 10:25
Subject: [cross-project-issues-dev] TM4E planning to start using JavaSE-17 as BREE soon
To: tm4e developer discussions <tm4e-dev@xxxxxxxxxxx>, Cross project issues <cross-project-issues-dev@xxxxxxxxxxx>

Hi all,

In , active TM4E contributors have agreed to consider the move the JavaSE-17 as minimal Java version soon. The rationale is that some benefits of recent version of Java languages (sealed Types, switch expressions....) are likely to really facilitate further maintenance and development of the parsers included in TM4E, and also to increase quality (new constructs leave less space for bugs, and often perform better). So we can expect a substantial gain for TM4E future in adopting Java 17 soon.

I'm sharing this with Simultaneous Release channel as TM4E is part of SimRel. At the moment, SimRel targets Java 11. So when TM4E is released with Java 17 requirement, either SimRel allows that and the new release gets in; or SimRel keeps Java 11 requirement and will use an older version of TM4E (for which there would probably have no support given currently active contributors are happy moving to Java 17).
TM4E is used by Wild Web Developer for instance; but Wild Web Developer doesn't mandate 1 specific version of TM4E and we plan to keep TM4E backward compatible in term of behavior and API; so those downstream consumers should be able to work with former (Java 11-able) release as well as newer (Java 17-able) release. So I don't think that downstream consumption should be a main concern.

I would invite SimRel stakeholders to consider is whether/when to allow Java 17-based code in SimRel.
Of course, I would advocate for "Do it right now" especially since JustJ and thus SimRel and EPP packages ships a recent Java; but acknowledge that this may require more discussion, hence why I'm sharing this plan for TM4E early.


Mickael Istria
Eclipse IDE developer, for Red Hat Developers
cross-project-issues-dev mailing list
To unsubscribe from this list, visit

_______________________________________________ mailing list
To unsubscribe from this list, visit
_______________________________________________ mailing list
To unsubscribe from this list, visit
_______________________________________________ mailing list
To unsubscribe from this list, visit

Aleksandar Kurtakov
Red Hat Eclipse Team

Back to the top