Skip to content

Conversation

ujhelyiz
Copy link
Contributor

@ujhelyiz ujhelyiz commented May 30, 2025

This PR updates the Eclipse platform to Eclipse version 2025-03.

  • Updates Java requirement to version 21.
  • Updates Target platform and Oomph setup accordingly.
  • Fixes a few minor issues that were found during build review.
    • All projects now explicitly state UTF-8 character encoding.
    • Fixes a few other metadata issues.
    • Removes some redundant configuration from the POM.
    • Updates Asciidoctor dependency to latest release.
    • Fixes some deprecated code issues.

seidewitz and others added 6 commits May 23, 2025 17:44
 - Updated Eclipse requirement to SimRel 2025-03
 - Xpect had to be updated to a recent nightly build because of a removal of a test bundle from recent Xtext version
 - Updated used Asciidoctor version
 - Projects were updated to explicitly specify UTF-8 character encoding
 - Some redundant configuration was removed from Maven
 - A deprecated field usage was updated
 - Unused (and deprecated) UpdateSiteNature was removed from site project
@ujhelyiz ujhelyiz marked this pull request as ready for review May 30, 2025 15:27
@seidewitz seidewitz self-assigned this Jun 2, 2025
@seidewitz seidewitz added this to the 2025-06 milestone Jun 2, 2025
@seidewitz
Copy link
Member

I updated various README files to reflect the new Eclipse and Java versions, and bring them up to date otherwise as necessary.

@seidewitz
Copy link
Member

The Xpect tests run fine in the Maven build. However, if I try to run them as Junit tests from the Eclipse IDE, I get the exception java.lang.NoClassDefFoundError: io/github/classgraph/ClassGraph.

Xpect tests are run as plain Java JUnit tests (without Eclipse/OSGi
runtimes) that do not always correctly collect transitive dependencies.
This resulted in the test executions failing because of the missing
classgraph dependency that needed to be added.
@ujhelyiz
Copy link
Contributor Author

ujhelyiz commented Jun 3, 2025

I have fixed the launching issues by adding a specific dependency that is only used inside Eclipse. The root cause of the issue is that those tests are run as JUnit tests over Eclipse plugin projects, which behave differently regarding transitive dependencies. By explicitly specifying the problematic dependencies, these issues can be fixed.

@seidewitz
Copy link
Member

I have fixed the launching issues by adding a specific dependency that is only used inside Eclipse. The root cause of the issue is that those tests are run as JUnit tests over Eclipse plugin projects, which behave differently regarding transitive dependencies. By explicitly specifying the problematic dependencies, these issues can be fixed.

Thanks, it works now. Why wasn't this a problem before?

@seidewitz seidewitz merged commit bf5d72a into master Jun 3, 2025
2 checks passed
@ujhelyiz
Copy link
Contributor Author

ujhelyiz commented Jun 4, 2025

I have fixed the launching issues by adding a specific dependency that is only used inside Eclipse. The root cause of the issue is that those tests are run as JUnit tests over Eclipse plugin projects, which behave differently regarding transitive dependencies. By explicitly specifying the problematic dependencies, these issues can be fixed.

Thanks, it works now. Why wasn't this a problem before?

To be honest, I am not entirely sure. Maybe in the earlier Xtext version, they were not injecting anything from the Classgraph project but using only internally, and we were not triggering those uses during runtime. Now it tried to inject the class and failed at a very early stage. Because I know this is a transitive dependency of Xtext, I did not think a detailed analysis was necessary, but simply added it in a way that does not change the deployed manifests (so it should not change the behavior for end-users).

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