Skip to content

Clarify consumer POM behavior regarding dependency scopes - #1606

Open
gnodet wants to merge 1 commit into
masterfrom
clarify-consumer-pom-scopes
Open

Clarify consumer POM behavior regarding dependency scopes#1606
gnodet wants to merge 1 commit into
masterfrom
clarify-consumer-pom-scopes

Conversation

@gnodet

@gnodet gnodet commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Restructure the Consumer POM section to clearly distinguish default behavior (preserves all dependency scopes including provided) from flattened behavior (strips non-transitive scopes like provided, test, system)
  • Note that the full build POM is still published with a build classifier when flattening is enabled
  • Add a clarifying note to the build/consumer POM comparison table about dependency scope differences

Refs #11442

Test plan

  • Verify the page renders correctly with mvn site
  • Review that the default vs. flattened distinction is clear to readers

🤖 Generated with Claude Code

Restructure the Consumer POM section to distinguish default behavior
(preserves all dependency scopes including provided) from flattened
behavior (strips non-transitive scopes). Add a clarifying note to the
build/consumer POM comparison table.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Only build-time-only elements are stripped.

* It contains no parent POM references (all inherited elements are resolved and included directly)
Optionally, flattening can be enabled to produce a fully self-contained consumer POM. When flattening is enabled:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Optionally, flattening can be enabled to produce a fully self-contained consumer POM. --> Enable flattening to produce a fully self-contained consumer POM.

* It contains no parent POM references (all inherited elements are resolved and included directly)
Optionally, flattening can be enabled to produce a fully self-contained consumer POM. When flattening is enabled:

* Parent POM references are resolved (all inherited elements are included directly)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Try to avoid parenthesized expressions

* Parent POM references are resolved (all inherited elements are included directly)
* BOM imports are flattened into the dependency list
* Only transitive dependencies are kept (compile and runtime scopes)
* Only transitive dependencies are kept (`compile` and `runtime` scopes); non-transitive scopes (`provided`, `test`, `system`) are stripped

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Transitive dependencies are kept (compile and runtime scopes). Non-transitive scopes are stripped. (provided, test, system scopes)

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