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