This is an automated email from the ASF dual-hosted git repository. gnodet pushed a commit to branch maven-4.0.x-test-fixes in repository https://gitbox.apache.org/repos/asf/maven.git
commit 99eee23682080c0640efe8600f74edf139a6f741 Author: Guillaume Nodet <[email protected]> AuthorDate: Mon May 18 23:51:28 2026 +0200 Fix #12086: filter transitive repos with uninterpolated expressions 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 <[email protected]> --- .../maven/impl/resolver/DefaultArtifactDescriptorReader.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/impl/maven-impl/src/main/java/org/apache/maven/impl/resolver/DefaultArtifactDescriptorReader.java b/impl/maven-impl/src/main/java/org/apache/maven/impl/resolver/DefaultArtifactDescriptorReader.java index fece86dc64..88d168cccf 100644 --- a/impl/maven-impl/src/main/java/org/apache/maven/impl/resolver/DefaultArtifactDescriptorReader.java +++ b/impl/maven-impl/src/main/java/org/apache/maven/impl/resolver/DefaultArtifactDescriptorReader.java @@ -334,6 +334,13 @@ private int getPolicy(RepositorySystemSession session, Artifact a, ArtifactDescr } private void filterUninterpolatedDependencies(ArtifactDescriptorResult result) { + result.getRepositories().removeIf(repo -> { + if (containsPlaceholder(repo.getId()) || containsPlaceholder(repo.getUrl())) { + logger.debug("Filtered repository with uninterpolated expression: {}", repo); + return true; + } + return false; + }); result.getDependencies().removeIf(dep -> { if (hasUninterpolatedExpression(dep.getArtifact())) { logger.debug("Filtered dependency with uninterpolated expression: {}", dep);
