slawekjaranowski commented on code in PR #909:
URL: https://github.com/apache/maven/pull/909#discussion_r1048712224


##########
maven-core/src/main/java/org/apache/maven/settings/SettingsUtils.java:
##########
@@ -51,6 +52,25 @@ public static Settings merge(Settings dominant, Settings 
recessive, String reces
         return new MavenSettingsMerger().merge(dominant, recessive, 
recessiveSourceLevel);
     }
 
+    /**
+     * @param dominant
+     * @param recessive
+     * @param recessiveSourceLevel
+     * @deprecated please use {@link #merge(Settings, Settings, String)}
+     */
+    @Deprecated
+    public static void merge(
+            org.apache.maven.settings.Settings dominant,
+            org.apache.maven.settings.Settings recessive,
+            String recessiveSourceLevel) {
+
+        if (dominant == null || recessive == null) {
+            return;
+        }
+
+        dominant.delegate = new SettingsMerger().merge(dominant.getDelegate(), 
recessive.getDelegate(), true, null);

Review Comment:
   > The only non immutable bit in the m4 `Settings` is the `sourceLevel` which 
I also have no idea where/why/how/if it's used.
   
   Exactly, and `sourceLevel` can be set once - it is a reason why I used 
`SettingsMerger`.
   
   m-invoker-p has a hack for it:
   
https://github.com/apache/maven-invoker-plugin/blob/bfb75f9e52e93478dab710bb7243978c06f48d1a/src/main/java/org/apache/maven/plugins/invoker/AbstractInvokerMojo.java#L1580-L1618
   
   but only works with Maven3 - 4 has session in delegate field
   
   We also can relax of settings `sourceLevel`.
   
   By the way we have double implementation `MavenSettingsMerger` and 
`SettingsMerger` IMHO we should use one.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@maven.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to