Skip to content

Fix incompatible extensions in mvnup for Maven 4#12120

Merged
gnodet merged 1 commit into
apache:masterfrom
gnodet:mvnup-extension-handling
May 20, 2026
Merged

Fix incompatible extensions in mvnup for Maven 4#12120
gnodet merged 1 commit into
apache:masterfrom
gnodet:mvnup-extension-handling

Conversation

@gnodet
Copy link
Copy Markdown
Contributor

@gnodet gnodet commented May 20, 2026

Summary

  • Replace kr.motd.maven:os-maven-plugin with Maveniverse Nisse (eu.maveniverse.maven.nisse:extension:0.4.4) in .mvn/extensions.xml — os-maven-plugin tries to mutate unmodifiable session properties in Maven 4. Nisse is a drop-in replacement compatible with both Maven 3 and 4. Also adds -Dnisse.compat.osDetector to .mvn/maven.config.
  • Remove com.gradle:develocity-maven-extension and com.gradle:gradle-enterprise-maven-extension — these depend on org.slf4j.impl.SimpleLogger which is not available in Maven 4's classpath.

These changes fix ~7 repos in the Maven 4 compatibility test suite (gnodet/maven4-testing).

Test plan

  • All 24 AbstractUpgradeGoalTest tests pass (8 new extension handling tests)
  • All 36 CompatibilityFixStrategyTest + PluginUpgradeStrategyTest tests pass
  • Run maven4-testing suite with updated Maven build

Claude Code on behalf of Guillaume Nodet

🤖 Generated with Claude Code

Add extension handling to mvnup that automatically fixes known
Maven 4-incompatible extensions in .mvn/extensions.xml:

- Replace os-maven-plugin (kr.motd.maven) with Maveniverse Nisse
  (eu.maveniverse.maven.nisse:extension:0.4.4) which works with
  both Maven 3 and 4. Also adds -Dnisse.compat.osDetector to
  .mvn/maven.config for drop-in compatibility.

- Remove Develocity/Gradle Enterprise extensions (com.gradle)
  which depend on org.slf4j.impl.SimpleLogger not available in
  Maven 4.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@gnodet gnodet marked this pull request as ready for review May 20, 2026 04:31
@gnodet gnodet merged commit 8d91872 into apache:master May 20, 2026
22 checks passed
@github-actions github-actions Bot added this to the 4.1.0 milestone May 20, 2026
@github-actions
Copy link
Copy Markdown

@gnodet Please assign appropriate label to PR according to the type of change.

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