Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id E63EF200C1C for ; Wed, 1 Feb 2017 00:41:51 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id E51A7160B52; Tue, 31 Jan 2017 23:41:51 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 22C8F160B69 for ; Wed, 1 Feb 2017 00:41:50 +0100 (CET) Received: (qmail 53014 invoked by uid 500); 31 Jan 2017 23:41:50 -0000 Mailing-List: contact commits-help@maven.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@maven.apache.org Delivered-To: mailing list commits@maven.apache.org Received: (qmail 52298 invoked by uid 99); 31 Jan 2017 23:41:49 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 31 Jan 2017 23:41:49 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 71D62E0004; Tue, 31 Jan 2017 23:41:49 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: schulte@apache.org To: commits@maven.apache.org Date: Tue, 31 Jan 2017 23:41:55 -0000 Message-Id: <34998660f6014308a983882b946a63b9@git.apache.org> In-Reply-To: <6bfb80290f5941b28926f6fad57de6a0@git.apache.org> References: <6bfb80290f5941b28926f6fad57de6a0@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [7/9] maven git commit: [MNG-4347] import-scoped dependencies of direct dependencies are not resolved using profile modifications from settings.xml archived-at: Tue, 31 Jan 2017 23:41:52 -0000 [MNG-4347] import-scoped dependencies of direct dependencies are not resolved using profile modifications from settings.xml o Updated the 'DefaultModelResolver' to handle replacing repositories the same way the 'DefaultDependencyCollector' does. When the 'DefaultDependencyCollector' finds a repository in a child node with an id matching a repository already in use, it will only merge any mirror definitions but never change the repository already in use. The 'DefaultModelResolver' needs to follow the same logic. What has been provided must not change for consistency. Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/70814312 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/70814312 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/70814312 Branch: refs/heads/DEPMGMT-INCLUDE-IT Commit: 70814312e3a64e13504160b75bd41d9ce6a396b0 Parents: 2f19236 Author: Christian Schulte Authored: Tue Dec 13 03:30:32 2016 +0100 Committer: Christian Schulte Committed: Wed Feb 1 00:39:54 2017 +0100 ---------------------------------------------------------------------- .../maven/repository/internal/DefaultModelResolver.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/maven/blob/70814312/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java ---------------------------------------------------------------------- diff --git a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java b/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java index 0832a3a..a69b631 100644 --- a/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java +++ b/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java @@ -71,6 +71,8 @@ class DefaultModelResolver private final List externalRepositories; + private final Set externalRepositoryIds; + private final ArtifactResolver resolver; private final VersionRangeResolver versionRangeResolver; @@ -93,8 +95,13 @@ class DefaultModelResolver List externalRepositories = new ArrayList<>(); externalRepositories.addAll( repositories ); this.externalRepositories = Collections.unmodifiableList( externalRepositories ); - this.repositoryIds = new HashSet<>(); + this.externalRepositoryIds = new HashSet<>(); + for ( final RemoteRepository repository : this.repositories ) + { + this.repositoryIds.add( repository.getId() ); + this.externalRepositoryIds.add( repository.getId() ); + } } private DefaultModelResolver( DefaultModelResolver original ) @@ -108,6 +115,7 @@ class DefaultModelResolver this.repositories = new ArrayList<>( original.repositories ); this.externalRepositories = original.externalRepositories; this.repositoryIds = new HashSet<>( original.repositoryIds ); + this.externalRepositoryIds = new HashSet<>( original.externalRepositoryIds ); } @Override @@ -128,7 +136,7 @@ class DefaultModelResolver if ( !repositoryIds.add( repository.getId() ) ) { - if ( !replace ) + if ( !replace || this.externalRepositoryIds.contains( repository.getId() ) ) { return; }