Skip to content

Migrate to 2025-12 and java 21 - #26

Merged
Nicolas-Boltz merged 15 commits into
masterfrom
migration/eclipse-2023-12-jakarta
Aug 21, 2026
Merged

Nicolas-Boltz merged 15 commits into
masterfrom
migration/eclipse-2023-12-jakarta

Conversation

@Nicolas-Boltz

Copy link
Copy Markdown
Member

No description provided.

Nicolas-Boltz and others added 15 commits August 10, 2026 09:44
Point the repository at palladio-target-platforms 6.0.0-SNAPSHOT with the
palladio-2023-12 classifier and at repository-parent 0.11.1-SNAPSHOT.
Eclipse 2023-12 ships the jakarta.* variants of the annotation APIs and
Xtext 2.33 itself uses jakarta.inject. JDK packages such as javax.measure,
javax.swing and javax.annotation.processing are deliberately untouched.
Bundle symbolic names changed with the Orbit aggregation: javax.inject ->
jakarta.inject.jakarta.inject-api, javax.annotation -> jakarta.annotation-api,
and the JUnit 5 bundles. Guice and Dagger ranges are pinned explicitly so the
old javax-based versions can no longer satisfy them.
Runtime requirement, language level and the JRE bound by the IDE are set to 21
together, so they no longer contradict each other: Bundle-RequiredExecutionEnvironment,
the compliance/source/target keys in .settings/org.eclipse.jdt.core.prefs and the
JRE_CONTAINER entry in .classpath. Eclipse 2023-12 already provides the JavaSE-21
execution environment, so the target platform stays untouched.

This also removes the last bundles that were still pinned below 1.8.
The execute-generate-workflow profile regenerates the EMF model bundles during
the build and writes Bundle-RequiredExecutionEnvironment from the genmodel's
complianceLevel. Left at 17.0 it silently reverted those bundles to Java 17 on
every build - which is exactly what happened to the stoex and metricspec bundles
before this change.
The target definition now resolves against palladio-2024-06, and the mdsd.tools
dependencies are taken from their nightly update sites instead of pinned 1.0.0
releases, so that changes there are picked up without a release first.
The target definitions pointed at the mdsd.tools nightly sites while those
repositories were being restructured. All seven that produce a release are now
published as 1.1.0, so the dependency is pinned to that release again.

Library-ModelCompositionRefinement has no release and stays on its nightly site;
ThirdParty-Library and the GMF tooling mirror are static sites that were never part
of the round.
The simultaneous release moves from 2024-06 to 2025-12 and Orbit from 4.32 to 4.38.
Two units have to be requested explicitly because they no longer arrive transitively:
org.apache.commons.codec, which EDP2 and SimExp require directly, and commons-text,
which replaces the StringEscapeUtils that commons-lang3 dropped.

JUnit is pinned to the 5.14.1 line: the aggregation ships 5.x and 6.x side by side and
an unpinned version would silently pull JUnit 6.

The .source features of EMF Compare and the Parsley SDK left the release; the features
themselves take their place. The mdsd.tools dependencies come from their 1.2.0 releases.

Four target definitions in Yakindu that no target platform ever referenced are removed:
they pinned Eclipse Neon, Oxygen, Photon and 2018-09 and were pure dead weight.
org.eclipse.xtext.junit4 and org.eclipse.xtext.xbase.junit left the simultaneous
release with 2024-12. Their successors org.eclipse.xtext.testing and
org.eclipse.xtext.xbase.testing have existed alongside them for years and have the same
sub-package layout, so bundle names and package prefixes are swapped one to one.
22 locations pointing at old simultaneous releases, old Orbit aggregations and Orbit drops
from 2020 and 2023 are down to 12. Of the 227 units they requested, 16 were dropped because
the shared platform already carries them, 58 moved to 2025-12 or Orbit 4.38 unchanged, and 41
moved under the symbolic name the Orbit aggregation now uses - among them the JUnit bundles,
which Slingshot still drew from Orbit 2023-03 while the shared platform pinned 5.14.1.

Five units were removed rather than moved: Papyrus' infra.gmfdiag.tooling.runtime, required by
no manifest anywhere; org.eclipse.xpand and org.eclipse.xtend.typesystem.emf, whose consumers
are gone; org.apache.commons.lang, whose consumers are on lang3; and SWTChart's feature, whose
two bundles the release carries directly.

The same change has to be made in three places - the target definition, the manifest and the
feature - because each names the dependency again. Two locations stay and now say why: the
itemis site is the only source of org.antlr.generator, which the MWE2 workflows need, and
org.reactivestreams has no successor in Orbit 4.38.

SWTBot moves from 2.7 to 4.3 along the way. SWTBotViewMenu no longer exists there, but it was
imported without ever being used.
Only the runtime launch configuration still named the old bundle.
Core-Commons came from a 5.2.2 release over plain http while every other repository
consumes the nightly. The Xtext SDK came from 2023-09, which put a second Xtext
generation next to the 2.41 of the shared platform.

The Orbit drop moves to the aggregation; the JUnit 5 units go because the shared platform
carries them, and org.apache.commons.lang because nothing here uses it.
palladio-target-platforms 6.0.0-SNAPSHOT -> 6.0.0 and the build parent
0.11.1-SNAPSHOT -> 0.12.0.
@Nicolas-Boltz
Nicolas-Boltz merged commit 7b19cab into master Aug 21, 2026
2 checks passed
@Nicolas-Boltz
Nicolas-Boltz deleted the migration/eclipse-2023-12-jakarta branch August 21, 2026 10:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants