Skip to content

build: pin Maven 3.9.16 with the Maven Wrapper - #1567

Merged
joaodinissf merged 1 commit into
masterfrom
build/maven-wrapper
Oct 9, 2026
Merged

joaodinissf merged 1 commit into
masterfrom
build/maven-wrapper

Conversation

@joaodinissf

Copy link
Copy Markdown
Collaborator

Why the change

Every build is red since GitHub's Ubuntu runner image moved from Maven 3.9.16 to 3.10.0. Maven 3.10's resolver rejects / in artifact classifiers, and Tycho 5.0.4 injects the nested jars of bundles such as org.apache.ant as dependencies classified by their Bundle-ClassPath entry (lib/ant-antlr.jar). The build stops in xtext.expression with "Invalid Collect Request" (eclipse-tycho/tycho#6399, open, no fix released yet).

Special things to note

  • Builds go through the Maven Wrapper, pinned to Maven 3.9.16. CI no longer depends on the runner's Maven, and local builds with Maven 3.10 work again through ./mvnw. The wrapper is the script-only type, so no jar is committed; it downloads Maven from Maven Central and checks it against the pinned SHA-256 (checked against Central's published SHA-512).
  • The enforcer now rejects Maven 3.10 ([3.9.0,3.10)) with a message pointing to ./mvnw, instead of the resolver error further in.
  • Revert path: once Tycho handles Maven 3.10, bump distributionUrl and distributionSha256Sum and widen the enforcer range again.
  • Verified locally: with Maven 3.10.0 the build fails as in CI; through ./mvnw the full build with all static checks (tests skipped) passes; a tampered checksum is rejected.

Change outline

+mvnw, mvnw.cmd, .mvn/wrapper/maven-wrapper.properties   (Maven 3.9.16, SHA-256 pinned)
 .github/workflows/verify.yml, snapshot.yml               mvn → ./mvnw
 ddk-parent/pom.xml                                       enforcer [3.9.0,4) → [3.9.0,3.10), with message
 AGENTS.md                                                build commands use ./mvnw

🤖 Generated with Claude Code

GitHub's Ubuntu runner image moved to Maven 3.10.0, whose resolver
rejects '/' in artifact classifiers. Tycho 5.0.4 injects the nested jars
of bundles such as org.apache.ant as system dependencies classified by
their Bundle-ClassPath entry (lib/ant-antlr.jar), so every build now
fails in xtext.expression with "Invalid Collect Request"
(eclipse-tycho/tycho#6399).

Build through a Maven Wrapper pinned to 3.9.16, with the distribution's
SHA-256, in CI and in the documented commands, and cap the enforced
Maven version below 3.10 so that a 3.10 build fails early with a pointer
to ./mvnw. Remove the cap and bump the wrapper once Tycho supports 3.10.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@joaodinissf
joaodinissf marked this pull request as ready for review October 9, 2026 09:55
@joaodinissf
joaodinissf merged commit d7b65da into master Oct 9, 2026
4 checks passed
@joaodinissf
joaodinissf deleted the build/maven-wrapper branch October 9, 2026 10:23
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