[maven-4.0.x] Filter transitive dependencies with uninterpolated expressions#12097
Open
gnodet wants to merge 2 commits into
Open
[maven-4.0.x] Filter transitive dependencies with uninterpolated expressions#12097gnodet wants to merge 2 commits into
gnodet wants to merge 2 commits into
Conversation
When a transitive dependency POM contains dependencies with
uninterpolated property expressions (e.g., ${osgi.version}), the
MavenValidator.validateDependency() throws IllegalArgumentException
during dependency collection.
Filter out such dependencies in DefaultArtifactDescriptorReader after
populateResult() runs, before they reach the resolver/validator,
following the same pattern used for transitive repositories with
uninterpolated IDs/URLs (commit 9332ad3).
This is safe because invalid dependencies from build POMs have already
been rejected during model validation. Uninterpolated expressions in
transitive dependency POMs indicate undefined properties in those
third-party POMs that cannot be resolved.
Cherry-pick of #12084, adapted for the 4.0.x delegate pattern.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Extend the uninterpolated expression filtering to also cover
repositories from transitive dependency POMs. This prevents
build failures when a transitive dependency defines a repository
with a property expression (e.g., ${eclipseP2RepoId}) as its ID
that is only available in the original project context.
Cherry-picked and adapted from PR #12088 for the 4.0.x branch.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Backport of #12084 to
maven-4.0.x.Filters out transitive dependencies that contain uninterpolated
${...}expressions in their coordinates, preventing build failures caused by unresolved property references in transitive dependency POMs.Claude Code on behalf of Guillaume Nodet