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

rfscholte pushed a commit to branch MNG-7063
in repository https://gitbox.apache.org/repos/asf/maven.git

commit 8f92fa617f11acc43a26b5b9d2f255a2037e57ad
Author: Guillaume Nodet <gno...@gmail.com>
AuthorDate: Mon Nov 30 14:19:58 2020 +0100

    Extract FileToRawModelMerger
    
    # Conflicts:
    #   
maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java
---
 .../maven/model/building/DefaultModelBuilder.java  | 158 -----------------
 .../maven/model/building/FileToRawModelMerger.java | 190 +++++++++++++++++++++
 .../model/building/FileToRawModelMergerTest.java   |   1 -
 3 files changed, 190 insertions(+), 159 deletions(-)

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 5edc249..675958f 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
@@ -51,21 +51,15 @@ import org.apache.maven.building.Source;
 import org.apache.maven.feature.Features;
 import org.apache.maven.model.Activation;
 import org.apache.maven.model.Build;
-import org.apache.maven.model.BuildBase;
-import org.apache.maven.model.CiManagement;
 import org.apache.maven.model.Dependency;
 import org.apache.maven.model.DependencyManagement;
 import org.apache.maven.model.InputLocation;
 import org.apache.maven.model.InputSource;
 import org.apache.maven.model.Model;
-import org.apache.maven.model.ModelBase;
 import org.apache.maven.model.Parent;
 import org.apache.maven.model.Plugin;
-import org.apache.maven.model.PluginContainer;
 import org.apache.maven.model.PluginManagement;
 import org.apache.maven.model.Profile;
-import org.apache.maven.model.ReportPlugin;
-import org.apache.maven.model.Reporting;
 import org.apache.maven.model.Repository;
 import org.apache.maven.model.building.ModelProblem.Severity;
 import org.apache.maven.model.building.ModelProblem.Version;
@@ -1533,158 +1527,6 @@ public class DefaultModelBuilder
     }
 
     /**
-     * As long as Maven controls the BuildPomXMLFilter, the entities that need 
merging are known.
-     * All others can simply be copied from source to target to restore the 
locationTracker
-     *
-     * @author Robert Scholte
-     * @since 4.0.0
-     */
-    class FileToRawModelMerger extends ModelMerger
-    {
-        @Override
-        protected void mergeBuild_Extensions( Build target, Build source, 
boolean sourceDominant,
-                                              Map<Object, Object> context )
-        {
-            // don't merge
-        }
-
-
-        @Override
-        protected void mergeBuildBase_Resources( BuildBase target, BuildBase 
source, boolean sourceDominant,
-                                                 Map<Object, Object> context )
-        {
-            // don't merge
-        }
-
-        @Override
-        protected void mergeBuildBase_TestResources( BuildBase target, 
BuildBase source, boolean sourceDominant,
-                                                     Map<Object, Object> 
context )
-        {
-            // don't merge
-        }
-
-        @Override
-        protected void mergeCiManagement_Notifiers( CiManagement target, 
CiManagement source, boolean sourceDominant,
-                                                    Map<Object, Object> 
context )
-        {
-            // don't merge
-        }
-
-        @Override
-        protected void mergeDependencyManagement_Dependencies( 
DependencyManagement target, DependencyManagement source,
-                                                               boolean 
sourceDominant, Map<Object, Object> context )
-        {
-            Iterator<Dependency> sourceIterator = 
source.getDependencies().iterator();
-            target.getDependencies().stream().forEach( t -> mergeDependency( 
t, sourceIterator.next(), sourceDominant,
-                                                                             
context ) );
-        }
-
-        @Override
-        protected void mergeDependency_Exclusions( Dependency target, 
Dependency source, boolean sourceDominant,
-                                                   Map<Object, Object> context 
)
-        {
-            // don't merge
-        }
-
-        @Override
-        protected void mergeModel_Contributors( Model target, Model source, 
boolean sourceDominant,
-                                                Map<Object, Object> context )
-        {
-            // don't merge
-        }
-
-        @Override
-        protected void mergeModel_Developers( Model target, Model source, 
boolean sourceDominant,
-                                              Map<Object, Object> context )
-        {
-            // don't merge
-        }
-
-        @Override
-        protected void mergeModel_Licenses( Model target, Model source, 
boolean sourceDominant,
-                                            Map<Object, Object> context )
-        {
-            // don't merge
-        }
-
-        @Override
-        protected void mergeModel_MailingLists( Model target, Model source, 
boolean sourceDominant,
-                                                Map<Object, Object> context )
-        {
-            // don't merge
-        }
-
-        @Override
-        protected void mergeModel_Profiles( Model target, Model source, 
boolean sourceDominant,
-                                            Map<Object, Object> context )
-        {
-            Iterator<Profile> sourceIterator = source.getProfiles().iterator();
-            target.getProfiles().stream().forEach( t -> mergeProfile( t, 
sourceIterator.next(), sourceDominant,
-                                                                      context 
) );
-        }
-
-        @Override
-        protected void mergeModelBase_Dependencies( ModelBase target, 
ModelBase source, boolean sourceDominant,
-                                                    Map<Object, Object> 
context )
-        {
-            Iterator<Dependency> sourceIterator = 
source.getDependencies().iterator();
-            target.getDependencies().stream().forEach( t -> mergeDependency( 
t, sourceIterator.next(), sourceDominant,
-                                                                             
context ) );
-        }
-
-        @Override
-        protected void mergeModelBase_PluginRepositories( ModelBase target, 
ModelBase source, boolean sourceDominant,
-                                                          Map<Object, Object> 
context )
-        {
-            target.setPluginRepositories( source.getPluginRepositories() );
-        }
-
-        @Override
-        protected void mergeModelBase_Repositories( ModelBase target, 
ModelBase source, boolean sourceDominant,
-                                                    Map<Object, Object> 
context )
-        {
-            // don't merge
-        }
-
-        @Override
-        protected void mergePlugin_Dependencies( Plugin target, Plugin source, 
boolean sourceDominant,
-                                                 Map<Object, Object> context )
-        {
-            Iterator<Dependency> sourceIterator = 
source.getDependencies().iterator();
-            target.getDependencies().stream().forEach( t -> mergeDependency( 
t, sourceIterator.next(), sourceDominant,
-                                                                             
context ) );
-        }
-
-        @Override
-        protected void mergePlugin_Executions( Plugin target, Plugin source, 
boolean sourceDominant,
-                                               Map<Object, Object> context )
-        {
-            // don't merge
-        }
-
-        @Override
-        protected void mergeReporting_Plugins( Reporting target, Reporting 
source, boolean sourceDominant,
-                                               Map<Object, Object> context )
-        {
-            // don't merge
-        }
-
-        @Override
-        protected void mergeReportPlugin_ReportSets( ReportPlugin target, 
ReportPlugin source, boolean sourceDominant,
-                                                     Map<Object, Object> 
context )
-        {
-            // don't merge
-        }
-
-        @Override
-        protected void mergePluginContainer_Plugins( PluginContainer target, 
PluginContainer source,
-                                                     boolean sourceDominant, 
Map<Object, Object> context )
-        {
-            // don't merge
-        }
-    }
-
-    /**
      * Builds up the transformer context.
      * After the buildplan is ready, the build()-method returns the immutable 
context useful during distribution.
      * This is an inner class, as it must be able to call readRawModel()
diff --git 
a/maven-model-builder/src/main/java/org/apache/maven/model/building/FileToRawModelMerger.java
 
b/maven-model-builder/src/main/java/org/apache/maven/model/building/FileToRawModelMerger.java
new file mode 100644
index 0000000..f697d77
--- /dev/null
+++ 
b/maven-model-builder/src/main/java/org/apache/maven/model/building/FileToRawModelMerger.java
@@ -0,0 +1,190 @@
+package org.apache.maven.model.building;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import java.util.Iterator;
+import java.util.Map;
+
+import org.apache.maven.model.Build;
+import org.apache.maven.model.BuildBase;
+import org.apache.maven.model.CiManagement;
+import org.apache.maven.model.Dependency;
+import org.apache.maven.model.DependencyManagement;
+import org.apache.maven.model.Model;
+import org.apache.maven.model.ModelBase;
+import org.apache.maven.model.Plugin;
+import org.apache.maven.model.PluginContainer;
+import org.apache.maven.model.Profile;
+import org.apache.maven.model.ReportPlugin;
+import org.apache.maven.model.Reporting;
+import org.apache.maven.model.merge.ModelMerger;
+
+/**
+ * As long as Maven controls the BuildPomXMLFilter, the entities that need 
merging are known.
+ * All others can simply be copied from source to target to restore the 
locationTracker
+ *
+ * @author Robert Scholte
+ * @since 4.0.0
+ */
+class FileToRawModelMerger extends ModelMerger
+{
+
+    @Override
+    protected void mergeBuild_Extensions( Build target, Build source, boolean 
sourceDominant,
+                                          Map<Object, Object> context )
+    {
+        // don't merge
+    }
+
+
+    @Override
+    protected void mergeBuildBase_Resources( BuildBase target, BuildBase 
source, boolean sourceDominant,
+                                             Map<Object, Object> context )
+    {
+        // don't merge
+    }
+
+    @Override
+    protected void mergeBuildBase_TestResources( BuildBase target, BuildBase 
source, boolean sourceDominant,
+                                                 Map<Object, Object> context )
+    {
+        // don't merge
+    }
+
+    @Override
+    protected void mergeCiManagement_Notifiers( CiManagement target, 
CiManagement source, boolean sourceDominant,
+                                                Map<Object, Object> context )
+    {
+        // don't merge
+    }
+
+    @Override
+    protected void mergeDependencyManagement_Dependencies( 
DependencyManagement target, DependencyManagement source,
+                                                           boolean 
sourceDominant, Map<Object, Object> context )
+    {
+        Iterator<Dependency> sourceIterator = 
source.getDependencies().iterator();
+        target.getDependencies().stream().forEach( t -> mergeDependency( t, 
sourceIterator.next(), sourceDominant,
+                                                                         
context ) );
+    }
+
+    @Override
+    protected void mergeDependency_Exclusions( Dependency target, Dependency 
source, boolean sourceDominant,
+                                               Map<Object, Object> context )
+    {
+        // don't merge
+    }
+
+    @Override
+    protected void mergeModel_Contributors( Model target, Model source, 
boolean sourceDominant,
+                                            Map<Object, Object> context )
+    {
+        // don't merge
+    }
+
+    @Override
+    protected void mergeModel_Developers( Model target, Model source, boolean 
sourceDominant,
+                                          Map<Object, Object> context )
+    {
+        // don't merge
+    }
+
+    @Override
+    protected void mergeModel_Licenses( Model target, Model source, boolean 
sourceDominant,
+                                        Map<Object, Object> context )
+    {
+        // don't merge
+    }
+
+    @Override
+    protected void mergeModel_MailingLists( Model target, Model source, 
boolean sourceDominant,
+                                            Map<Object, Object> context )
+    {
+        // don't merge
+    }
+
+    @Override
+    protected void mergeModel_Profiles( Model target, Model source, boolean 
sourceDominant,
+                                        Map<Object, Object> context )
+    {
+        Iterator<Profile> sourceIterator = source.getProfiles().iterator();
+        target.getProfiles().stream().forEach( t -> mergeProfile( t, 
sourceIterator.next(), sourceDominant,
+                                                                  context ) );
+    }
+
+    @Override
+    protected void mergeModelBase_Dependencies( ModelBase target, ModelBase 
source, boolean sourceDominant,
+                                                Map<Object, Object> context )
+    {
+        Iterator<Dependency> sourceIterator = 
source.getDependencies().iterator();
+        target.getDependencies().stream().forEach( t -> mergeDependency( t, 
sourceIterator.next(), sourceDominant,
+                                                                         
context ) );
+    }
+
+    @Override
+    protected void mergeModelBase_PluginRepositories( ModelBase target, 
ModelBase source, boolean sourceDominant,
+                                                      Map<Object, Object> 
context )
+    {
+        target.setPluginRepositories( source.getPluginRepositories() );
+    }
+
+    @Override
+    protected void mergeModelBase_Repositories( ModelBase target, ModelBase 
source, boolean sourceDominant,
+                                                Map<Object, Object> context )
+    {
+        // don't merge
+    }
+
+    @Override
+    protected void mergePlugin_Dependencies( Plugin target, Plugin source, 
boolean sourceDominant,
+                                             Map<Object, Object> context )
+    {
+        Iterator<Dependency> sourceIterator = 
source.getDependencies().iterator();
+        target.getDependencies().stream().forEach( t -> mergeDependency( t, 
sourceIterator.next(), sourceDominant,
+                                                                         
context ) );
+    }
+
+    @Override
+    protected void mergePlugin_Executions( Plugin target, Plugin source, 
boolean sourceDominant,
+                                           Map<Object, Object> context )
+    {
+        // don't merge
+    }
+
+    @Override
+    protected void mergeReporting_Plugins( Reporting target, Reporting source, 
boolean sourceDominant,
+                                           Map<Object, Object> context )
+    {
+        // don't merge
+    }
+
+    @Override
+    protected void mergeReportPlugin_ReportSets( ReportPlugin target, 
ReportPlugin source, boolean sourceDominant,
+                                                 Map<Object, Object> context )
+    {
+        // don't merge
+    }
+
+    @Override
+    protected void mergePluginContainer_Plugins( PluginContainer target, 
PluginContainer source,
+                                                 boolean sourceDominant, 
Map<Object, Object> context )
+    {
+        // don't merge
+    }
+}
diff --git 
a/maven-model-builder/src/test/java/org/apache/maven/model/building/FileToRawModelMergerTest.java
 
b/maven-model-builder/src/test/java/org/apache/maven/model/building/FileToRawModelMergerTest.java
index 9d53014..286664c 100644
--- 
a/maven-model-builder/src/test/java/org/apache/maven/model/building/FileToRawModelMergerTest.java
+++ 
b/maven-model-builder/src/test/java/org/apache/maven/model/building/FileToRawModelMergerTest.java
@@ -26,7 +26,6 @@ import java.util.List;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
-import 
org.apache.maven.model.building.DefaultModelBuilder.FileToRawModelMerger;
 import org.apache.maven.model.merge.ModelMerger;
 import org.junit.jupiter.api.Test;
 

Reply via email to