diff --git a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java index 4dc86735a1fb..73e99bf37843 100644 --- a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java +++ b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java @@ -144,7 +144,12 @@ public void addRepository(final Repository repository, boolean replace) throws I List newRepositories = Collections.singletonList(ArtifactDescriptorUtils.toRemoteRepository(repository)); - this.repositories = remoteRepositoryManager.aggregateRepositories(session, repositories, newRepositories, true); + // The model being built is an artifact descriptor resolved from a repository, so the + // repositories it declares are remotely supplied input: they are merged recessively and + // flagged as descriptor-declared, which lets the repository manager withhold session + // authentication from them unless an operator-defined mirror captures them. + this.repositories = + remoteRepositoryManager.aggregateRepositories(session, repositories, newRepositories, true, true); } private static void removeMatchingRepository(Iterable repositories, final String id) { diff --git a/pom.xml b/pom.xml index 83020529269f..5d89ee53b4e4 100644 --- a/pom.xml +++ b/pom.xml @@ -144,7 +144,7 @@ under the License. 2.0 1.4.0 - 1.9.27 + 1.9.28-SNAPSHOT 1.7.36 2.13.0 2.0.9