You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by be...@apache.org on 2009/06/06 19:40:50 UTC

svn commit: r782283 - /maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/DefaultModelBuilder.java

Author: bentmann
Date: Sat Jun  6 17:40:50 2009
New Revision: 782283

URL: http://svn.apache.org/viewvc?rev=782283&view=rev
Log:
o Set POM file before validation to provide better source hint for validation problems

Modified:
    maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/DefaultModelBuilder.java

Modified: maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/DefaultModelBuilder.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/DefaultModelBuilder.java?rev=782283&r1=782282&r2=782283&view=diff
==============================================================================
--- maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/DefaultModelBuilder.java (original)
+++ maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/DefaultModelBuilder.java Sat Jun  6 17:40:50 2009
@@ -116,8 +116,7 @@
 
         List<Profile> activeExternalProfiles = getActiveExternalProfiles( request, profileActivationContext, problems );
 
-        Model model = readModel( modelSource, request, problems );
-        model.setPomFile( pomFile );
+        Model model = readModel( modelSource, pomFile, request, problems );
 
         List<Model> rawModels = new ArrayList<Model>();
         List<Model> resultModels = new ArrayList<Model>();
@@ -180,7 +179,8 @@
             pluginConfigurationExpander.expandPluginConfiguration( resultModel, request );
         }
 
-        validateModel( resultModel, false, request, problems );
+        ModelValidationResult validationResult = modelValidator.validateEffectiveModel( resultModel, request );
+        addProblems( resultModel, validationResult, problems );
 
         if ( !problems.isEmpty() )
         {
@@ -201,7 +201,8 @@
         return context;
     }
 
-    private Model readModel( ModelSource modelSource, ModelBuildingRequest request, List<ModelProblem> problems )
+    private Model readModel( ModelSource modelSource, File pomFile, ModelBuildingRequest request,
+                             List<ModelProblem> problems )
         throws ModelBuildingException
     {
         Model model;
@@ -226,24 +227,16 @@
             throw new ModelBuildingException( problems );
         }
 
-        validateModel( model, true, request, problems );
+        model.setPomFile( pomFile );
+
+        ModelValidationResult validationResult = modelValidator.validateRawModel( model, request );
+        addProblems( model, validationResult, problems );
 
         return model;
     }
 
-    private void validateModel( Model model, boolean raw, ModelBuildingRequest request, List<ModelProblem> problems )
+    private void addProblems( Model model, ModelValidationResult result, List<ModelProblem> problems )
     {
-        ModelValidationResult result;
-
-        if ( raw )
-        {
-            result = modelValidator.validateRawModel( model, request );
-        }
-        else
-        {
-            result = modelValidator.validateEffectiveModel( model, request );
-        }
-
         if ( result.getMessageCount() > 0 )
         {
             String source = toSourceHint( model );
@@ -384,8 +377,7 @@
             return null;
         }
 
-        Model candidateModel = readModel( new FileModelSource( pomFile ), request, problems );
-        candidateModel.setPomFile( pomFile );
+        Model candidateModel = readModel( new FileModelSource( pomFile ), pomFile, request, problems );
 
         String groupId = candidateModel.getGroupId();
         if ( groupId == null && candidateModel.getParent() != null )
@@ -441,7 +433,7 @@
             throw new ModelBuildingException( problems );
         }
 
-        return readModel( modelSource, request, problems );
+        return readModel( modelSource, null, request, problems );
     }
 
     private Model getSuperModel()