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 2022/12/20 08:24:59 UTC

[maven] branch maven-3.8.x updated: [MNG-7634] Revert MNG-5982 and MNG-7417

This is an automated email from the ASF dual-hosted git repository.

michaelo pushed a commit to branch maven-3.8.x
in repository https://gitbox.apache.org/repos/asf/maven.git


The following commit(s) were added to refs/heads/maven-3.8.x by this push:
     new 7db942b2f [MNG-7634] Revert MNG-5982 and MNG-7417
7db942b2f is described below

commit 7db942b2f7387f783d4530e2ee63897c204dd904
Author: Michael Osipov <mi...@apache.org>
AuthorDate: Sat Dec 17 20:48:42 2022 +0100

    [MNG-7634] Revert MNG-5982 and MNG-7417
    
    This closes #917
---
 .../internal/DefaultArtifactDescriptorReader.java      | 18 ++++++++++++++----
 1 file changed, 14 insertions(+), 4 deletions(-)

diff --git a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReader.java b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReader.java
index 8d57b6086..986314a01 100644
--- a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReader.java
+++ b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReader.java
@@ -274,8 +274,11 @@ public class DefaultArtifactDescriptorReader
                 modelRequest.setValidationLevel( ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL );
                 modelRequest.setProcessPlugins( false );
                 modelRequest.setTwoPhaseBuilding( false );
-                modelRequest.setSystemProperties( toProperties( session.getSystemProperties() ) );
-                modelRequest.setUserProperties( toProperties( session.getUserProperties() ) );
+                // This merge is on purpose because otherwise user properties would override model
+                // properties in dependencies the user does not know. See MNG-7563 for details.
+                modelRequest.setSystemProperties(
+                        toProperties( session.getUserProperties(), session.getSystemProperties() ) );
+                modelRequest.setUserProperties( new Properties() );
                 modelRequest.setModelCache( DefaultModelCache.newInstance( session ) );
                 modelRequest.setModelResolver( new DefaultModelResolver( session, trace.newChild( modelRequest ),
                                                                          request.getRequestContext(), artifactResolver,
@@ -328,10 +331,17 @@ public class DefaultArtifactDescriptorReader
         }
     }
 
-    private Properties toProperties( Map<String, String> map )
+    private Properties toProperties( Map<String, String> dominant, Map<String, String> recessive )
     {
         Properties props = new Properties();
-        props.putAll( map );
+        if ( recessive != null )
+        {
+            props.putAll( recessive );
+        }
+        if ( dominant != null )
+        {
+            props.putAll( dominant );
+        }
         return props;
     }