Skip to content

Handle Maven RELEASE and LATEST dependency selectors - #9391

Merged
jkschneider merged 4 commits into
mainfrom
fix/jvm-meta-version-selectors
Oct 25, 2026
Merged

jkschneider merged 4 commits into
mainfrom
fix/jvm-meta-version-selectors

Conversation

@jkschneider

@jkschneider jkschneider commented Oct 25, 2026 •

Copy link
Copy Markdown
Member

UpgradeDependencyVersion treats Maven meta-versions RELEASE and LATEST as literal exact versions: Maven silently leaves dependencies unchanged, while Gradle can write those strings into dependency declarations.

Normalize the case-insensitive JVM aliases to latest.release and latest.integration before selecting a comparator. This reuses existing version ordering, metadata-pattern filtering, and release/prerelease behavior. The Semver ecosystem cache and existing explicit-exact parsing remain intact.

Validation:

  • Deterministic Maven and Gradle RewriteTest fixtures use mocked metadata, canonical-selector controls, exact pins, version patterns, and two-cycle idempotency checks.
  • Supplemental tests against artifacts attesting to the base source commit: baseline 10 passing controls and 12 expected alias failures; candidate 22/22 passing.
  • Supplemental compilation of the current Semver package and its full tests: 352 passing, one existing disabled test, three existing assumption aborts, zero failures.
  • Full repository CI passed on the reviewed final head. Local Gradle compilation was blocked before project code by unavailable Code Genome build-plugin credentials.

Fixes https://github.com/moderneinc/customer-requests/issues/3129.

@jkschneider
jkschneider marked this pull request as ready for review October 25, 2026 16:12
@jkschneider
jkschneider merged commit 596c7f4 into main Oct 25, 2026
2 checks passed
@jkschneider
jkschneider deleted the fix/jvm-meta-version-selectors branch October 25, 2026 16:12
@github-project-automation github-project-automation Bot moved this from In Progress to Done in OpenRewrite Oct 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

1 participant