Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [gef-dev] Java 21 for GEF-Classic
  • From: Patrick Ziegler <ziegler.patrick@xxxxxxxxxx>
  • Date: Sat, 21 Dec 2024 22:08:12 +0100
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=GgaUJigJTtMLIrqN0g5gHpWliGvQ4m2mm048YuuMk0w=; b=BVprHZ82gjc9Mmt7h9ONncYtxz6d2NJsjZFzNc2A1JY8dC/8qqBAcYrtu9Sq6IRifPHoltoD7R1zrEIE901VHb+XT9iuajWWvHvZeIy2UulTK8HHFYhedHS5bwowJjKdo06WYWZzjMEvTO0b9/xYn8VPFHZxbfGHIrRev660NkXNFKUitkvZ0k4ZcMDO7tQh7QSVB5AEhK7zjAB81nuUgS5DZaQgzUftxaJHZlpXYDzk1OblAmQUmpqMUknUeg0HFiR+wTzLKmbOpdLnAz3CSXDa6bx5nO17cr1JHhGVDDiXptoGJBSFcfEVy/dtr6Qgm2ybNt5Qif2+ctju75bPkA==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=EjN9PWXOE+FaIIsyJBbLk6j5nOg5ttu1ZymR9muPOqP6okA+9vs+mAWHFpFZgG88pcuTVQkDkK8fSZp6VAURlwjO9/pXfY6fPvwtRiOgAECAWO1QD+w48MU/sNPEwsfhBT3yj+4LUHVXZNuuP5rUs+foBHdsbPm9DaXIpf2q1Fnrv5aAbUkG3ZXvsn5Q7+fGVoaM9V3fojahbhNA0ucXGgtSwdn552JUfwTSCKn1ACuG5kEEA1sIgCFhiENaGocC5AemYy8fVJVERULIu0x29/V0YKmRjBh89iu+xG98v/B2ZDm1jsAuK0BcPSUE/PVygjEWsJ7/Xp/h0dAu7wySGQ==
  • Delivered-to: gef-dev@xxxxxxxxxxx
  • List-archive: <https://www.eclipse.org/mailman/private/gef-dev/>
  • List-help: <mailto:gef-dev-request@eclipse.org?subject=help>
  • List-subscribe: <https://www.eclipse.org/mailman/listinfo/gef-dev>, <mailto:gef-dev-request@eclipse.org?subject=subscribe>
  • List-unsubscribe: <https://www.eclipse.org/mailman/options/gef-dev>, <mailto:gef-dev-request@eclipse.org?subject=unsubscribe>
  • User-agent: Mozilla Thunderbird

Hi,

just to avoid a misunderstanding: The only Platform plugins that currently require Java 21 are:

- org.eclipse.help.base

- org.eclipse.help.ui

- org.eclipse.help.webapp

Which means from a technical perspective, it is still possible to launch e.g. the Eclipse IDE with Java 17 and build RCP applications on top of it, as long as you don't require the online help. But this then comes with a lot of additional caveats, as you e.g. can't simply use the "org.eclipse.platform" feature anymore (as it includes the help) and instead have to cherry-pick all plugins individually. Which is why I believe that this is simply not practical and most projects will pick the easier route and switch to Java 21 as well.

At least from my side, the driving factors for Java 21 is some of the nice API they have added (the SequencedCollection as one of my favorites) and maintainability. As mentioned, the GEF tests require a running Eclipse SDK and it is therefore impossible to automatically test against Java 17 anymore.

So now we are in the unpleasant situation were GEF has to configure additional infrastructure to make sure that we remain compatible with our minimum BREE. Which is of course a lot of extra work that was pushed on us all of a sudden and something was will cause an endless amount of frustration, both on our side and the user side, if not done properly.

Regards,

Patrick


On 21.12.24 21:42, Alois Zoitl via gef-dev wrote:
Hi,

unfortunately that is not fully true. GEF Classic has several bundles
that require the Eclipse platform. Patrick has this very nicely pointed
out in his previous post.

I also have to disagree on your assessment of Java 21. As a developer
of an RCP using GEF Classic where we already moved to Java 21 I can say
that especially the switch pattern matching makes a lot of code much
easier to read. Especially code in the GEF Classic context.

BR,
Alois



On Sat, 2024-12-21 at 06:28 +0000, Ed Willink via gef-dev wrote:
Hi Yes. The outer (Tycho) JVM will have to be Java 21. But No, The inner (test) JVM can be overridden by the maven-
toolchains-plugin.
For OCL I was 'happily' running Java 5 compatibility testing until
the EF discontinued the Java 5 support on Jenkins. Java 8
compatibility testing could not handle builds by the latest Java 18
signing algorithm. But Java 11 testing is still possible with Tycho
on Jenkins.
Since GEF provides diverse capabilities that can be used without the
IDE, I feel that the BREE should be as low as feasible.
(Personally I do not find the latest Java features useful since sadly
the debugging support is deficient; single stepping by 'lines' cannot
work when a single line has multiple partial occluded constructs.)
Regards Ed Willink On 20/12/2024 20:40, Patrick Ziegler via gef-dev wrote:
As I understand it, Tycho will run tests using the configured
Java 17 in the tool chain if the project says its test runs on
Java 17.
That's how it's supposed to work but after playing around with it
for a while, I can say with high confidence that it'll fail for two
reasons:
1) We have integration tests that launch the Eclipse IDE. Because
the IDE requires Java 21, the tests now also require Java 21.
2) Because Tycho has to be run with Java 21, the tests will always
be executed with Java 21, even if explicitly told to consider the
BREE (which is still set to Java 17).
A few years ago I worked on a product that was still using Java 11,
but we had to use Tycho 3.x and therefore built with Java 17.
Meaning that this behavior is very likely a regression in Tycho.
I personally prefer that we also consider the consumers who are
generally best served with the least restrictive requirements.
That's a fair point. Then perhaps let's approach it from a
different perspective: What plugins have to be executed with Java
21?
- As mentioned, we have the test fragments. - We also have the documentation. It doesn't make sense to use them
without the Eclipse Help, so they should probably also require Java
21, even if they only contain HTML.
- For GEF, I'm also leaning towards Java 21, as it depends on the
Eclipse Platform. Which is currently a real pain to configure
without accidentally pulling in a Java 21 bundle...
- For Draw2D and Zest, I'd then stick to Java 17 for the time
being, as they only depend on SWT/JFace.
On 18.12.24 14:09, Ed Merks via gef-dev wrote:
I personally prefer that we also consider the consumers who are
generally best served with the least restrictive requirements.
As I understand it, Tycho will run tests using the configured
Java 17 in the tool chain if the project says its test runs on
Java 17.
Of course at some point some plugin dependency on which a GEF
bundle depends will change its bound to 21 and then only building
against an older target platform would allow for actual testing
of Java 17 via actual tests.  If that happens during the current
2025-03 release cycle, that might require to revisit the
decision.  And of course another important consideration is what
is easiest and the least work for the developers.  It's
definitely nice to be able to use the latest language features!
On 18.12.2024 12:59, Lars Vogel via gef-dev wrote:
As always I prefer moving to the latest Java if possible. So +1
for moving GEF to Java 21 (for the 2025-03 release).
On Wed, Dec 18, 2024 at 12:21 PM Patrick Ziegler via gef-dev
<gef-dev@xxxxxxxxxxx> wrote:
Hello everyone, The Eclipse Platform SDK now requires Java 21 due to the
dependency to Lucene 10.x which has already led to build
problems that could be seen here [1]. The latest GEF-Classic
build uses a workaround, to get both the Java 17 and Java 21
builds happy, but even that is no longer possible with recent
SimRel changes. In short: We are no longer able to build and
test GEF-Classic against Java 17, using the 2025-03 staging
repository.
This now also raises the question when we should officially
drop support for Java 17. As part of the Simultaneous
Release, we are allowed to move to Java 21 since 2024-06, so
all formal requirements have already been satisfied.
Personally, I would either target the next release (as part
of 2025-03) or the release after that (2025-06). Given that
we're very early in the release cycle, both options seem
valid.
What are your thoughts on this? Many regards, Patrick ---  [1] https://github.com/eclipse-gef/gef-classic/pull/628

 -------- Forwarded Message --------
Subject:	[cross-project-issues-dev] Platform 4.35 I-
builds and the Platform SDK Now Require Java 21
Date:	Tue, 17 Dec 2024 12:56:52 +0100
From:	Ed Merks via cross-project-issues-dev
<cross-project-issues-dev@xxxxxxxxxxx>
Reply-To: 	Cross project issues
<cross-project-issues-dev@xxxxxxxxxxx>
To:	Cross project issues
<cross-project-issues-dev@xxxxxxxxxxx>
CC:	Ed Merks <ed.merks@xxxxxxxxx>

 Here are some background details about the Platform's 4.35
(2025-03) development:
https://github.com/eclipse-platform/eclipse.platform.releng.ag
gregator/issues/2654
 ___________________________________________  The latest Orbit summary table includes details about the
required Java version of each library prompted by Lucene 10's
requirement for Java 21 which is first library in Orbit to
require Java 21:
https://download.eclipse.org/tools/orbit/simrel/orbit-aggregat
ion/table.html
 ___________________________________________  This is what we're doing to prepare for the eventual Java 24
release:
https://github.com/eclipse-platform/eclipse.platform.releng.ag
gregator/issues/2623
 ___________________________________________  Expect a new (minor) version of Guava in Orbit for M1 (or
sooner) when this library is approved:
https://gitlab.eclipse.org/eclipsefdn/emo-team/iplab/-/issues/
17939
 ___________________________________________  Happy Holidays!!!!  _______________________________________________
  cross-project-issues-dev mailing list
  cross-project-issues-dev@xxxxxxxxxxx
  To unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/cross-project-issues-dev
 _______________________________________________
  gef-dev mailing list
  gef-dev@xxxxxxxxxxx
  To unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/gef-dev
 -- Eclipse Platform project co-lead
  CEO vogella GmbH
 Haindaalwisch 17a, 22395 Hamburg
  Amtsgericht Hamburg: HRB 127058
  Geschäftsführer: Lars Vogel, Jennifer Nerlich de Vogel
  USt-IdNr.: DE284122352
  Fax (040) 5247 6322, Email: lars.vogel@xxxxxxxxxxx, Web:
http://www.vogella.com
_______________________________________________
gef-dev mailing list
gef-dev@xxxxxxxxxxx
To unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/gef-dev
_______________________________________________
gef-dev mailing list
gef-dev@xxxxxxxxxxx
To unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/gef-dev
_______________________________________________
gef-dev mailing list
gef-dev@xxxxxxxxxxx
To unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/gef-dev
Virus-free.www.avast.com

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


Back to the top