Skip to content

Update Xtext to use ASM 9.9.0#3528

Closed
iloveeclipse wants to merge 1 commit into
eclipse-xtext:mainfrom
iloveeclipse:issue_3525_3
Closed

Update Xtext to use ASM 9.9.0#3528
iloveeclipse wants to merge 1 commit into
eclipse-xtext:mainfrom
iloveeclipse:issue_3525_3

Conversation

@iloveeclipse

Copy link
Copy Markdown
Contributor

Fixes #3525

@iloveeclipse

Copy link
Copy Markdown
Contributor Author

Note, Orbit doesn't have ASM 9.9.0 yet, so this PR has a hack in ‎xtext-latest.target: it uses platform repo to get ASM.
So probably it has to wait for Orbit, no idea how that all works with multiple target files.

@iloveeclipse

Copy link
Copy Markdown
Contributor Author

Interestingly, this was not a problem on my own fork build, see iloveeclipse#1.
But this is expected, as the hack in xtext-latest.target was not applied to other targets.

16:30:55  [ERROR] Failed to resolve target definition file:/home/jenkins/agent/workspace/xtext_PR-3528/org.eclipse.xtext.builder.tests/../xtext-r202403.target: Could not find "org.objectweb.asm/9.9.0" in the repositories of the current location

@iloveeclipse

Copy link
Copy Markdown
Contributor Author

See also jacoco/jacoco#1965 (comment)

@github-actions

github-actions Bot commented Oct 10, 2025

Copy link
Copy Markdown

Test Results

  6 445 files  + 15    6 445 suites  +15   3h 1m 7s ⏱️ - 22m 58s
 43 212 tests  -  23   42 629 ✅  -  18    581 💤  -  3  2 ❌  - 2 
169 931 runs  +104  167 598 ✅ +111  2 325 💤  - 11  8 ❌ +4 

For more details on these failures, see this check.

Results for commit 0c075c0. ± Comparison against base commit 1d41d02.

This pull request removes 23 tests.
org.eclipse.xtend.core.tests.building.XtendIncrementalBuilderPerformanceTest ‑ testPerf00100
org.eclipse.xtend.core.tests.building.XtendIncrementalBuilderPerformanceTest ‑ testPerf00200
org.eclipse.xtend.core.tests.building.XtendIncrementalBuilderPerformanceTest ‑ testPerf00400
org.eclipse.xtend.core.tests.building.XtendIncrementalBuilderPerformanceTest ‑ testPerf00800
org.eclipse.xtend.core.tests.building.XtendIncrementalBuilderPerformanceTest ‑ testPerf01600
org.eclipse.xtend.core.tests.building.XtendIncrementalBuilderPerformanceTest ‑ testPerf03200
org.eclipse.xtend.core.tests.building.XtendIncrementalBuilderPerformanceTest ‑ testPerf06400
org.eclipse.xtend.core.tests.building.XtendIncrementalBuilderPerformanceTest ‑ testPerf12800
org.eclipse.xtend.core.tests.building.XtendIncrementalBuilderPerformanceTest ‑ testPerf25600
org.eclipse.xtend.core.tests.building.XtendIncrementalBuilderPerformanceTest ‑ testPerf51200
…

♻️ This comment has been updated with latest results.

@merks

merks commented Oct 12, 2025

Copy link
Copy Markdown
Contributor

FYI, the updates are available:

With these changes:

eclipse-orbit/orbit-simrel@0b8e793

@cdietrich

Copy link
Copy Markdown
Contributor

the following files missed adjustments

org.eclipse.xtext.xtext.wizard/xtend-gen/org/eclipse/xtext/xtext/wizard/TargetPlatformProject.java
org.eclipse.xtext.dev-bom/pom.xml

@cdietrich

cdietrich commented Oct 13, 2025

Copy link
Copy Markdown
Contributor

build also seems to have junit 5 problems

[ERROR]
09:08:08 [ERROR] Please refer to /home/jenkins/agent/workspace/xtext_PR-3528/org.eclipse.xtext.testing.junit5.tests/target/surefire-reports for the individual test results.
09:08:08 [ERROR] Please refer to dump files (if any exist) [date].dump, [date]-jvmRun[N].dump and [date].dumpstream.
09:08:08 [ERROR] There was an error in the forked process
09:08:08 [ERROR] TestEngine with ID 'junit-jupiter' encountered a critical issue during test discovery:
09:08:08 [ERROR]
09:08:08 [ERROR] (1) [ERROR] ClassSelector [className = 'org.eclipse.xtext.testing.tests.junit5.ComposedInjectAnnotationTest', classLoader = null] resolution failed
09:08:08 [ERROR] Source: ClassSource [className = 'org.eclipse.xtext.testing.tests.junit5.ComposedInjectAnnotationTest', filePosition = null]
09:08:08 [ERROR] at org.eclipse.xtext.testing.tests.junit5.ComposedInjectAnnotationTest.(SourceFile:0)
09:08:08 [ERROR] Cause: java.lang.NoSuchMethodError: 'boolean org.junit.platform.commons.util.ReflectionUtils.returnsVoid(java.lang.reflect.Method)'
09:08:08 [ERROR] at org.junit.jupiter.engine.discovery.predicates.IsTestableMethod.test(IsTestableMethod.java:48)
09:08:08 [ERROR] at org.junit.jupiter.engine.discovery.predicates.IsTestMethod.test(IsTestMethod.java:23)
09:08:08 [ERROR] at org.junit.jupiter.engine.discovery.predicates.IsTestableMethod.test(IsTestableMethod.java:26)
09:08:08 [ERROR] at java.base/java.util.function.Predicate.lambda$or$2(Predicate.java:101)
09:08:08 [ERROR] at java.base/java.util.function.Predicate.lambda$or$2(Predicate.java:101)
09:08:08 [ERROR] at org.junit.platform.commons.util.ReflectionUtils.findMethod(ReflectionUtils.java:1661)
09:08:08 [ERROR] at org.junit.platform.commons.util.ReflectionUtils.isMethodPresent(ReflectionUtils.java:1507)
09:08:08 [ERROR] at org.junit.jupiter.engine.discovery.predicates.IsTestClassWithTests.hasTestOrTestFactoryOrTestT

maybe something pulls a wild mix of junit 5 and 6

@cdietrich

cdietrich commented Oct 13, 2025

Copy link
Copy Markdown
Contributor

i wont have any time to digg this week (any likely next)
maybe opening some ranges to allow 6.x or be more restrictive elsewhere helps

@merks

merks commented Oct 13, 2025

Copy link
Copy Markdown
Contributor

@iloveeclipse

I think these are all problematic now:

image

There are 8 such files:

image

With the current support for version ranges in the *.target it would seems better to use ranges.

Which one could I change that will be tested by a PR before trying to do them all?

I see in the log:

Resolving target definition file:/home/jenkins/agent/workspace/xtext_PR-3528/org.eclipse.xtext.builder.tests/../xtext-r202403.target

@iloveeclipse

Copy link
Copy Markdown
Contributor Author

Which one could I change that will be tested by a PR before trying to do them all?

I guess "latest", but honestly I have no idea about Xtext targets. I believe they are per SDK release, so others shouldn't be affected by junit6 mix in latest.

@merks

merks commented Oct 13, 2025

Copy link
Copy Markdown
Contributor

I see this:

image

So if the build is using that, then I expect it will be affected.

@iloveeclipse

Copy link
Copy Markdown
Contributor Author

maybe something pulls a wild mix of junit 5 and 6

It's platform I-Build that has the mix, and tycho that pulls always latest if nothing is limited.

See eclipse-platform/eclipse.platform.releng.aggregator#3399 and example fix in the platform: eclipse-platform/eclipse.platform#2192

@merks

merks commented Oct 13, 2025

Copy link
Copy Markdown
Contributor

As I see it, the build is using this target

image

which uses the latest orbit which has both junit 5 and junit,

image

So we need to be careful to pick up the junit 5 versions:

image

Like this:

image

Without the ranges it resolves like this:

image

@cdietrich

Copy link
Copy Markdown
Contributor

theoretically all targets need to works

practically

  • "latest" is built by github actions
  • "202403" aka the minimum is but by ci.eclipse.org
  • others only if you manually select in ci.eclipse.org

@merks

merks commented Oct 13, 2025

Copy link
Copy Markdown
Contributor

Yes, I understand that they all should work, otherwise they should be deleted.

Getting one to work might be a good start though wouldn't it?

@cdietrich

Copy link
Copy Markdown
Contributor

replaced by eds pr

@cdietrich cdietrich closed this Oct 13, 2025
@iloveeclipse iloveeclipse deleted the issue_3525_3 branch October 14, 2025 06:13
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.

Update Xtext to use ASM 9.9.0

3 participants