Skip to content

Backport #12874: Strip executable() conditions from consumer POMs - #12960

Merged
gnodet merged 1 commit into
maven-4.0.xfrom
backport/12570-strip-executable-4.0.x
Aug 31, 2026
Merged

Backport #12874: Strip executable() conditions from consumer POMs#12960
gnodet merged 1 commit into
maven-4.0.xfrom
backport/12570-strip-executable-4.0.x

Conversation

@gnodet

@gnodet gnodet commented Aug 30, 2026

Copy link
Copy Markdown
Contributor

Summary

Backport of #12874 to maven-4.0.x.

  • Strips executable() profile activation conditions from consumer POMs, since these are build-time-only conditions that should not leak into published POMs

Closes #12570

🤖 Generated with Claude Code

@gnodet gnodet added this to the 4.0.0-rc-7 milestone Aug 30, 2026
@gnodet gnodet added the enhancement New feature or request label Aug 30, 2026
The executable() function evaluates against the local system PATH,
making profile activation environment-dependent. When such conditions
survive into published consumer POMs, downstream consumers silently
evaluate them against their own PATH, producing non-reproducible builds.

Strip the entire condition string when it contains an executable() call
during DefaultConsumerPomBuilder processing. This applies to all three
transform paths: transformNonPom and transformBom (via prune()), and
transformPom (directly). When no other activation triggers remain after
stripping, the activation is removed entirely.

Closes #12570

Co-authored-by: Claude Opus 4.6 <[email protected]>
@gnodet
gnodet force-pushed the backport/12570-strip-executable-4.0.x branch from 9bb8195 to 2904965 Compare August 31, 2026 01:59
@gnodet
gnodet merged commit 125edd6 into maven-4.0.x Aug 31, 2026
41 of 43 checks passed
@gnodet
gnodet deleted the backport/12570-strip-executable-4.0.x branch August 31, 2026 07:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant