You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by mi...@apache.org on 2021/03/01 22:43:40 UTC
[maven] branch revert-MNG-6772 updated (9b2a895 -> 1acea5b)
This is an automated email from the ASF dual-hosted git repository.
michaelo pushed a change to branch revert-MNG-6772
in repository https://gitbox.apache.org/repos/asf/maven.git.
discard 9b2a895 Revert "[MNG-6772] Prevent Super POM central entry from overriding"
new 6ce12ed Revert "[MNG-7046] Revert MNG-5639 and make repo config static only"
new 1acea5b Revert "[MNG-6772] Prevent Super POM central entry from overriding"
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (9b2a895)
\
N -- N -- N refs/heads/revert-MNG-6772 (1acea5b)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.../apache/maven/project/ProjectModelResolver.java | 5 ++--
.../project/DefaultMavenProjectBuilderTest.java | 10 +++++++
...pom-resolves-from-property-based-repository.xml | 31 ++++++++++++++++++++++
.../maven/model/building/DefaultModelBuilder.java | 11 +++++++-
.../repository/internal/DefaultModelResolver.java | 4 +++
5 files changed, 58 insertions(+), 3 deletions(-)
create mode 100644 maven-core/src/test/resources/projects/import-scope-pom-resolves-from-property-based-repository.xml
[maven] 01/02: Revert "[MNG-7046] Revert MNG-5639 and make repo
config static only"
Posted by mi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
michaelo pushed a commit to branch revert-MNG-6772
in repository https://gitbox.apache.org/repos/asf/maven.git
commit 6ce12ede20d8a4159d7221885a76ce43be08505e
Author: Michael Osipov <mi...@apache.org>
AuthorDate: Mon Mar 1 23:33:14 2021 +0100
Revert "[MNG-7046] Revert MNG-5639 and make repo config static only"
This reverts commit 8c9c303f9c20396b2d2810a872b16245f9eabfcb.
---
.../apache/maven/project/ProjectModelResolver.java | 5 ++--
.../project/DefaultMavenProjectBuilderTest.java | 10 +++++++
...pom-resolves-from-property-based-repository.xml | 31 ++++++++++++++++++++++
.../maven/model/building/DefaultModelBuilder.java | 11 +++++++-
.../repository/internal/DefaultModelResolver.java | 4 +++
5 files changed, 58 insertions(+), 3 deletions(-)
diff --git a/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java b/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java
index ae44924..b1b28ef 100644
--- a/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java
+++ b/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java
@@ -93,8 +93,9 @@ public class ProjectModelResolver
this.resolver = resolver;
this.remoteRepositoryManager = remoteRepositoryManager;
this.pomRepositories = new ArrayList<>();
- this.externalRepositories = repositories;
- this.repositories = repositories;
+ this.externalRepositories = Collections.unmodifiableList( new ArrayList<>( repositories ) );
+ this.repositories = new ArrayList<>();
+ this.repositories.addAll( externalRepositories );
this.repositoryMerging = repositoryMerging;
this.repositoryIds = new HashSet<>();
this.modelPool = modelPool;
diff --git a/maven-core/src/test/java/org/apache/maven/project/DefaultMavenProjectBuilderTest.java b/maven-core/src/test/java/org/apache/maven/project/DefaultMavenProjectBuilderTest.java
index 9338cd2..2bff5d0 100644
--- a/maven-core/src/test/java/org/apache/maven/project/DefaultMavenProjectBuilderTest.java
+++ b/maven-core/src/test/java/org/apache/maven/project/DefaultMavenProjectBuilderTest.java
@@ -192,6 +192,16 @@ public class DefaultMavenProjectBuilderTest
assertNotNull( result.getDependencyResolutionResult() );
}
+ public void testImportScopePomResolvesFromPropertyBasedRepository()
+ throws Exception
+ {
+ File pomFile = getTestFile( "src/test/resources/projects/import-scope-pom-resolves-from-property-based-repository.xml" );
+ ProjectBuildingRequest request = newBuildingRequest();
+ request.setProcessPlugins( false );
+ request.setResolveDependencies( true );
+ projectBuilder.build( pomFile, request );
+ }
+
/**
* Tests whether local version range parent references are build correctly.
*
diff --git a/maven-core/src/test/resources/projects/import-scope-pom-resolves-from-property-based-repository.xml b/maven-core/src/test/resources/projects/import-scope-pom-resolves-from-property-based-repository.xml
new file mode 100644
index 0000000..4c29a3b
--- /dev/null
+++ b/maven-core/src/test/resources/projects/import-scope-pom-resolves-from-property-based-repository.xml
@@ -0,0 +1,31 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>test</groupId>
+ <artifactId>imported-pom-found</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+
+ <properties>
+ <repo.url>file:src/test/remote-repo</repo.url>
+ </properties>
+
+ <repositories>
+ <repository>
+ <id>central</id>
+ <url>${repo.url}</url>
+ </repository>
+ </repositories>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.its</groupId>
+ <artifactId>a</artifactId>
+ <version>0.1</version>
+ <type>pom</type>
+ <scope>import</scope>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+
+</project>
diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java
index afde52a..88b5694 100644
--- a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java
+++ b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java
@@ -476,6 +476,9 @@ public class DefaultModelBuilder
result.setEffectiveModel( resultModel );
+ // Now the fully interpolated model is available: reconfigure the resolver
+ configureResolver( request.getModelResolver(), resultModel, problems, true );
+
return resultModel;
}
@@ -807,6 +810,12 @@ public class DefaultModelBuilder
private void configureResolver( ModelResolver modelResolver, Model model, DefaultModelProblemCollector problems )
{
+ configureResolver( modelResolver, model, problems, false );
+ }
+
+ private void configureResolver( ModelResolver modelResolver, Model model, DefaultModelProblemCollector problems,
+ boolean replaceRepositories )
+ {
if ( modelResolver == null )
{
return;
@@ -820,7 +829,7 @@ public class DefaultModelBuilder
{
try
{
- modelResolver.addRepository( repository, false );
+ modelResolver.addRepository( repository, replaceRepositories );
}
catch ( InvalidRepositoryException e )
{
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 0819477..993d38e 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
@@ -67,6 +67,8 @@ class DefaultModelResolver
private List<RemoteRepository> repositories;
+ private final List<RemoteRepository> externalRepositories;
+
private final ArtifactResolver resolver;
private final VersionRangeResolver versionRangeResolver;
@@ -86,6 +88,7 @@ class DefaultModelResolver
this.versionRangeResolver = versionRangeResolver;
this.remoteRepositoryManager = remoteRepositoryManager;
this.repositories = repositories;
+ this.externalRepositories = Collections.unmodifiableList( new ArrayList<>( repositories ) );
this.repositoryIds = new HashSet<>();
}
@@ -99,6 +102,7 @@ class DefaultModelResolver
this.versionRangeResolver = original.versionRangeResolver;
this.remoteRepositoryManager = original.remoteRepositoryManager;
this.repositories = new ArrayList<>( original.repositories );
+ this.externalRepositories = original.externalRepositories;
this.repositoryIds = new HashSet<>();
}
[maven] 02/02: Revert "[MNG-6772] Prevent Super POM central entry
from overriding"
Posted by mi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
michaelo pushed a commit to branch revert-MNG-6772
in repository https://gitbox.apache.org/repos/asf/maven.git
commit 1acea5b7eba19e7f58d28cc491d268bad3db6402
Author: Michael Osipov <mi...@apache.org>
AuthorDate: Sat Jan 23 20:00:24 2021 +0100
Revert "[MNG-6772] Prevent Super POM central entry from overriding"
This reverts commit 2a23d7bf16612ff1868941669bde3a7d323a93e2.
---
.../src/main/java/org/apache/maven/project/ProjectModelResolver.java | 2 +-
.../java/org/apache/maven/repository/internal/DefaultModelResolver.java | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java b/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java
index b1b28ef..9caa3e6 100644
--- a/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java
+++ b/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java
@@ -111,7 +111,7 @@ public class ProjectModelResolver
this.externalRepositories = original.externalRepositories;
this.repositories = new ArrayList<>( original.repositories );
this.repositoryMerging = original.repositoryMerging;
- this.repositoryIds = new HashSet<>();
+ this.repositoryIds = new HashSet<>( original.repositoryIds );
this.modelPool = original.modelPool;
}
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 993d38e..f23bfe4 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
@@ -103,7 +103,7 @@ class DefaultModelResolver
this.remoteRepositoryManager = original.remoteRepositoryManager;
this.repositories = new ArrayList<>( original.repositories );
this.externalRepositories = original.externalRepositories;
- this.repositoryIds = new HashSet<>();
+ this.repositoryIds = new HashSet<>( original.repositoryIds );
}
@Override