Skip to content

Fix mvnup plugin upgrade for versions locked by parent build/plugins#12165

Open
gnodet wants to merge 1 commit into
masterfrom
cake-dew
Open

Fix mvnup plugin upgrade for versions locked by parent build/plugins#12165
gnodet wants to merge 1 commit into
masterfrom
cake-dew

Conversation

@gnodet
Copy link
Copy Markdown
Contributor

@gnodet gnodet commented May 27, 2026

Summary

  • When a remote parent POM declares a plugin with an explicit version in <build><plugins> (not via <pluginManagement>), mvnup's plugin upgrade strategy now correctly adds the override in <build><plugins> instead of only <pluginManagement>
  • The analysis compares each plugin's effective version in build/plugins against build/pluginManagement/plugins to determine upfront whether a <pluginManagement> override alone is sufficient or a direct <plugins> entry is needed
  • Unlike the previous approach (Fix mvnup plugin upgrade for plugins inherited in build/plugins #12157), this avoids adding unnecessary <plugins> entries when the version is controlled via <pluginManagement>

Supersedes #12157 and #12159.

Test plan

  • New test shouldNotAddDirectOverrideWhenVersionFromPluginManagement verifies no false-positive <plugins> entries for org.apache:apache:23 (version comes from PM)
  • New test shouldNotDuplicatePluginInBuildPluginsWhenAlreadyDeclared verifies no duplicates when plugin is already locally declared
  • All 29 existing + new PluginUpgradeStrategy tests pass

🤖 Generated with Claude Code

When a remote parent POM declares a plugin with an explicit version in
build/plugins (not via pluginManagement), adding a pluginManagement
entry in the child is insufficient — the parent's explicit version
takes precedence.

The analysis now compares each plugin's effective version in
build/plugins against build/pluginManagement/plugins:
- Same version: version comes from PM, pluginManagement override works
- Different version (or absent from PM): explicit version in parent's
  plugins, needs a direct build/plugins entry to override

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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.

1 participant