Skip to content

feat: upgrade to JUnit 6 + Eclipse 4.39 (simrel 2026-03)#1327

Open
joaodinissf wants to merge 1 commit into
dsldevkit:masterfrom
joaodinissf:feat/upgrade-junit6-eclipse439-step-4
Open

feat: upgrade to JUnit 6 + Eclipse 4.39 (simrel 2026-03)#1327
joaodinissf wants to merge 1 commit into
dsldevkit:masterfrom
joaodinissf:feat/upgrade-junit6-eclipse439-step-4

Conversation

@joaodinissf
Copy link
Copy Markdown
Collaborator

@joaodinissf joaodinissf commented May 1, 2026

End-to-end JUnit 6 + Eclipse 4.39 atomic upgrade for DDK. OSGi runtime contains only JUnit 6.0.3 bundles (no 5.14.x, no jdt.junit5.runtime).

Two layers of dual-version JUnit pollution had to be peeled back. First, Eclipse PDE's umbrella feature (org.eclipse.pde.feature.group) transitively pulls jdt.junit5.runtime, which is strict-pinned to JUnit 5.14.x; replaced in ddk.target with a curated bundle list of the six PDE bundles DDK actually uses (verified load-bearing — going back to pde.feature.group makes target resolution unsatisfiable). Second, Xtext 2.42.0's org.eclipse.xtext.testing hard-pins org.junit.jupiter.api [5.1.0, 6.0.0); fixed upstream in Xtext 2.43.0 (eclipse-xtext/xtext#3660 "Junit 6 support").

This branch points at the Xtext 2.43.0 stable release URL. The 2.43.0.M2 milestone variant was verified end-to-end in CI (357 tests, 0 failures, 0 errors); the stable release ships the same bundle set with the JUnit 6 testing support. CI will go red on maven-verify (target resolution) until Eclipse publishes 2.43.0 stable, scheduled for 2026-05-25 — retrigger once it's live.

Supersedes #1332 (folded the stable-URL swap into this PR).

🤖 Generated with Claude Code

@joaodinissf joaodinissf changed the title WIP: investigation log for step 4 (JUnit 6 + Eclipse 4.39 deferred) feat: upgrade to JUnit 6 + Eclipse 4.39 (simrel 2026-03) May 1, 2026
@joaodinissf joaodinissf force-pushed the feat/upgrade-junit6-eclipse439-step-4 branch 3 times, most recently from fa663fd to 079da34 Compare May 2, 2026 06:34
@joaodinissf joaodinissf force-pushed the feat/upgrade-junit6-eclipse439-step-4 branch from 079da34 to 2ff5804 Compare May 6, 2026 21:01
@joaodinissf joaodinissf marked this pull request as ready for review May 6, 2026 21:01
@joaodinissf joaodinissf force-pushed the feat/upgrade-junit6-eclipse439-step-4 branch from 2ff5804 to fb382e1 Compare May 22, 2026 09:32
End-to-end JUnit 6 + Eclipse 4.39 upgrade. The OSGi runtime
contains only JUnit 6.0.3 bundles (no JUnit 5.14.x, no
jdt.junit5.runtime).

Two layers of dual-version JUnit pollution had to be peeled back:

1. Eclipse PDE umbrella feature transitively pulls jdt.junit5.runtime
   (strict-pinned to JUnit 5.14.x). Workaround: replace
   org.eclipse.pde.feature.group in the target with a curated bundle
   list of the six PDE bundles DDK uses (pde.core, pde.ui,
   pde.ua.core, pde.junit.runtime, jdt.junit.runtime, jdt.annotation).
   Verified load-bearing: dropping the curated list and going back to
   pde.feature.group makes target resolution unsatisfiable.

2. Xtext 2.42.0's org.eclipse.xtext.testing hard-pins
   org.junit.jupiter.api [5.1.0,6.0.0). Fix: eclipse-xtext/xtext#3660
   "Junit 6 support" landed in Xtext 2.43.0.

Other target file changes:
  - sequenceNumber 28 -> 29
  - Eclipse SDK location updates/4.34/ -> releases/2026-03/
  - Source-feature IUs (platform.source.feature.group, jdt.source.*,
    pde.source.*) dropped — renamed in modern simrels and not needed
    for headless Tycho test runs.
  - swtbot.junit5.feature.group dropped — its feature.xml requires
    the JUnit 4 'org.junit' bundle which is no longer in the target,
    and DDK doesn't use SWTBotJunit5Extension (verified via static
    analysis).
  - orbit-aggregation 4.37.0 -> 4.39.0 with JUnit 6.0.3 IUs and
    dep versions back to 4.39-era (mockito 5.21.0, byte-buddy
    1.18.5, objenesis 3.5.0, commons-lang3 3.20.0, commons-text
    1.15.0, log4j 2.25.3).

xtext.test/pom.xml:
  - <providerHint>junit5</providerHint> -> <providerHint>junit6</providerHint>
  - extraRequirements: replaced the org.eclipse.pde feature requirement
    with an explicit org.eclipse.pde.junit.runtime plugin requirement

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@joaodinissf joaodinissf force-pushed the feat/upgrade-junit6-eclipse439-step-4 branch from fb382e1 to 17575d3 Compare May 22, 2026 15:32
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.

1 participant