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/02 21:31:35 UTC

svn commit: r781133 - in /maven/components/trunk/maven-model-builder/src: main/java/org/apache/maven/model/ main/java/org/apache/maven/model/inheritance/ main/java/org/apache/maven/model/management/ main/java/org/apache/maven/model/normalization/ main/...

Author: bentmann
Date: Tue Jun  2 19:31:34 2009
New Revision: 781133

URL: http://svn.apache.org/viewvc?rev=781133&view=rev
Log:
o Gave each model diddling component access to the building request to easy future extensions

Modified:
    maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/DefaultModelBuilder.java
    maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/inheritance/DefaultInheritanceAssembler.java
    maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/inheritance/InheritanceAssembler.java
    maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/management/DefaultManagementInjector.java
    maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/management/ManagementInjector.java
    maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/normalization/DefaultModelNormalizer.java
    maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/normalization/ModelNormalizer.java
    maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/path/DefaultModelPathTranslator.java
    maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/path/ModelPathTranslator.java
    maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/plugin/DefaultPluginConfigurationExpander.java
    maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/plugin/PluginConfigurationExpander.java
    maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/profile/DefaultProfileInjector.java
    maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/profile/ProfileInjector.java
    maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java
    maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/validation/ModelValidator.java
    maven/components/trunk/maven-model-builder/src/test/java/org/apache/maven/model/validation/DefaultModelValidatorTest.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=781133&r1=781132&r2=781133&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 Tue Jun  2 19:31:34 2009
@@ -125,7 +125,7 @@
             Model rawModel = ModelUtils.cloneModel( current );
             rawModels.add( rawModel );
 
-            modelNormalizer.mergeDuplicates( resultModel );
+            modelNormalizer.mergeDuplicates( resultModel, request );
 
             List<Profile> activeProjectProfiles = getActiveProjectProfiles( rawModel, request );
 
@@ -139,7 +139,7 @@
 
             for ( Profile activeProfile : activeProfiles )
             {
-                profileInjector.injectProfile( resultModel, activeProfile );
+                profileInjector.injectProfile( resultModel, activeProfile, request );
             }
 
             result.setActiveProfiles( rawModel, activeProfiles );
@@ -153,25 +153,25 @@
 
         result.setRawModels( rawModels );
 
-        assembleInheritance( resultModels );
+        assembleInheritance( resultModels, request );
 
         Model resultModel = resultModels.get( 0 );
 
         resultModel = interpolateModel( resultModel, request );
         resultModels.set( 0, resultModel );
 
-        modelPathTranslator.alignToBaseDirectory( resultModel, resultModel.getProjectDirectory() );
+        modelPathTranslator.alignToBaseDirectory( resultModel, resultModel.getProjectDirectory(), request );
 
         if ( request.isProcessPlugins() )
         {
             lifecycleBindingsInjector.injectLifecycleBindings( resultModel );
         }
 
-        managementInjector.injectManagement( resultModel );
+        managementInjector.injectManagement( resultModel, request );
 
         if ( request.isProcessPlugins() )
         {
-            pluginConfigurationExpander.expandPluginConfiguration( resultModel );
+            pluginConfigurationExpander.expandPluginConfiguration( resultModel, request );
         }
 
         validateModel( resultModel, false, request );
@@ -215,11 +215,11 @@
 
         if ( raw )
         {
-            result = modelValidator.validateRawModel( model, request.istLenientValidation() );
+            result = modelValidator.validateRawModel( model, request );
         }
         else
         {
-            result = modelValidator.validateEffectiveModel( model, request.istLenientValidation() );
+            result = modelValidator.validateEffectiveModel( model, request );
         }
 
         if ( result.getMessageCount() > 0 )
@@ -273,13 +273,13 @@
         }
     }
 
-    private void assembleInheritance( List<Model> models )
+    private void assembleInheritance( List<Model> models, ModelBuildingRequest request )
     {
         for ( int i = models.size() - 2; i >= 0; i-- )
         {
             Model parent = models.get( i + 1 );
             Model child = models.get( i );
-            inheritanceAssembler.assembleModelInheritance( child, parent );
+            inheritanceAssembler.assembleModelInheritance( child, parent, request );
         }
     }
 

Modified: maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/inheritance/DefaultInheritanceAssembler.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/inheritance/DefaultInheritanceAssembler.java?rev=781133&r1=781132&r2=781133&view=diff
==============================================================================
--- maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/inheritance/DefaultInheritanceAssembler.java (original)
+++ maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/inheritance/DefaultInheritanceAssembler.java Tue Jun  2 19:31:34 2009
@@ -23,6 +23,7 @@
 import java.util.Map;
 
 import org.apache.maven.model.Model;
+import org.apache.maven.model.ModelBuildingRequest;
 import org.apache.maven.model.merge.MavenModelMerger;
 import org.codehaus.plexus.component.annotations.Component;
 
@@ -38,7 +39,7 @@
 
     private MavenModelMerger merger = new MavenModelMerger();
 
-    public void assembleModelInheritance( Model child, Model parent )
+    public void assembleModelInheritance( Model child, Model parent, ModelBuildingRequest request )
     {
         Map<Object, Object> hints = new HashMap<Object, Object>();
         hints.put( MavenModelMerger.CHILD_PATH_ADJUSTMENT, getChildPathAdjustment( child, parent ) );

Modified: maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/inheritance/InheritanceAssembler.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/inheritance/InheritanceAssembler.java?rev=781133&r1=781132&r2=781133&view=diff
==============================================================================
--- maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/inheritance/InheritanceAssembler.java (original)
+++ maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/inheritance/InheritanceAssembler.java Tue Jun  2 19:31:34 2009
@@ -20,6 +20,7 @@
  */
 
 import org.apache.maven.model.Model;
+import org.apache.maven.model.ModelBuildingRequest;
 
 /**
  * Handles inheritance of model values.
@@ -35,7 +36,8 @@
      * @param child The child model into which to merge the values inherited from the parent, must not be
      *            <code>null</code>.
      * @param parent The (read-only) parent model from which to inherit the values, may be <code>null</code>.
+     * @param request The model building request that holds further settings, must not be {@code null}.
      */
-    void assembleModelInheritance( Model child, Model parent );
+    void assembleModelInheritance( Model child, Model parent, ModelBuildingRequest request );
 
 }

Modified: maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/management/DefaultManagementInjector.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/management/DefaultManagementInjector.java?rev=781133&r1=781132&r2=781133&view=diff
==============================================================================
--- maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/management/DefaultManagementInjector.java (original)
+++ maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/management/DefaultManagementInjector.java Tue Jun  2 19:31:34 2009
@@ -32,6 +32,7 @@
 import org.apache.maven.model.DependencyManagement;
 import org.apache.maven.model.Exclusion;
 import org.apache.maven.model.Model;
+import org.apache.maven.model.ModelBuildingRequest;
 import org.apache.maven.model.Plugin;
 import org.apache.maven.model.PluginContainer;
 import org.apache.maven.model.PluginExecution;
@@ -51,7 +52,7 @@
 
     private ManagementModelMerger merger = new ManagementModelMerger();
 
-    public void injectManagement( Model model )
+    public void injectManagement( Model model, ModelBuildingRequest request )
     {
         merger.mergeManagedDependencies( model );
         merger.mergeManagedBuildPlugins( model );

Modified: maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/management/ManagementInjector.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/management/ManagementInjector.java?rev=781133&r1=781132&r2=781133&view=diff
==============================================================================
--- maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/management/ManagementInjector.java (original)
+++ maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/management/ManagementInjector.java Tue Jun  2 19:31:34 2009
@@ -20,6 +20,7 @@
  */
 
 import org.apache.maven.model.Model;
+import org.apache.maven.model.ModelBuildingRequest;
 
 /**
  * Handles injection of plugin/dependency management into the model.
@@ -34,7 +35,8 @@
      * 
      * @param child The model into which to merge the values specified by its management sections, must not be
      *            <code>null</code>.
+     * @param request The model building request that holds further settings, must not be {@code null}.
      */
-    void injectManagement( Model child );
+    void injectManagement( Model child, ModelBuildingRequest request );
 
 }

Modified: maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/normalization/DefaultModelNormalizer.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/normalization/DefaultModelNormalizer.java?rev=781133&r1=781132&r2=781133&view=diff
==============================================================================
--- maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/normalization/DefaultModelNormalizer.java (original)
+++ maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/normalization/DefaultModelNormalizer.java Tue Jun  2 19:31:34 2009
@@ -27,6 +27,7 @@
 
 import org.apache.maven.model.Build;
 import org.apache.maven.model.Model;
+import org.apache.maven.model.ModelBuildingRequest;
 import org.apache.maven.model.Plugin;
 import org.apache.maven.model.merge.MavenModelMerger;
 import org.codehaus.plexus.component.annotations.Component;
@@ -43,7 +44,7 @@
 
     private DuplicateMerger merger = new DuplicateMerger();
 
-    public void mergeDuplicates( Model model )
+    public void mergeDuplicates( Model model, ModelBuildingRequest request )
     {
         Build build = model.getBuild();
         if ( build != null )

Modified: maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/normalization/ModelNormalizer.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/normalization/ModelNormalizer.java?rev=781133&r1=781132&r2=781133&view=diff
==============================================================================
--- maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/normalization/ModelNormalizer.java (original)
+++ maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/normalization/ModelNormalizer.java Tue Jun  2 19:31:34 2009
@@ -20,6 +20,7 @@
  */
 
 import org.apache.maven.model.Model;
+import org.apache.maven.model.ModelBuildingRequest;
 
 /**
  * Handles normalization of a model.
@@ -33,7 +34,8 @@
      * Merges duplicate elements like multiple declarations of the same build plugin in the specified model.
      * 
      * @param model The model whose duplicate elements should be merged, must not be <code>null</code>.
+     * @param request The model building request that holds further settings, must not be {@code null}.
      */
-    void mergeDuplicates( Model model );
+    void mergeDuplicates( Model model, ModelBuildingRequest request );
 
 }

Modified: maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/path/DefaultModelPathTranslator.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/path/DefaultModelPathTranslator.java?rev=781133&r1=781132&r2=781133&view=diff
==============================================================================
--- maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/path/DefaultModelPathTranslator.java (original)
+++ maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/path/DefaultModelPathTranslator.java Tue Jun  2 19:31:34 2009
@@ -25,6 +25,7 @@
 
 import org.apache.maven.model.Build;
 import org.apache.maven.model.Model;
+import org.apache.maven.model.ModelBuildingRequest;
 import org.apache.maven.model.Reporting;
 import org.apache.maven.model.Resource;
 import org.codehaus.plexus.component.annotations.Component;
@@ -43,7 +44,7 @@
     @Requirement
     private PathTranslator pathTranslator;
 
-    public void alignToBaseDirectory( Model model, File basedir )
+    public void alignToBaseDirectory( Model model, File basedir, ModelBuildingRequest request )
     {
         if ( model == null || basedir == null )
         {

Modified: maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/path/ModelPathTranslator.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/path/ModelPathTranslator.java?rev=781133&r1=781132&r2=781133&view=diff
==============================================================================
--- maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/path/ModelPathTranslator.java (original)
+++ maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/path/ModelPathTranslator.java Tue Jun  2 19:31:34 2009
@@ -22,6 +22,7 @@
 import java.io.File;
 
 import org.apache.maven.model.Model;
+import org.apache.maven.model.ModelBuildingRequest;
 
 /**
  * Resolves relative paths of a model against a specific base directory.
@@ -37,7 +38,8 @@
      * 
      * @param model The model whose paths should be resolved, may be {@code null}.
      * @param basedir The base directory to resolve relative paths against, may be {@code null}.
+     * @param request The model building request that holds further settings, must not be {@code null}.
      */
-    void alignToBaseDirectory( Model model, File basedir );
+    void alignToBaseDirectory( Model model, File basedir, ModelBuildingRequest request );
 
 }

Modified: maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/plugin/DefaultPluginConfigurationExpander.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/plugin/DefaultPluginConfigurationExpander.java?rev=781133&r1=781132&r2=781133&view=diff
==============================================================================
--- maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/plugin/DefaultPluginConfigurationExpander.java (original)
+++ maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/plugin/DefaultPluginConfigurationExpander.java Tue Jun  2 19:31:34 2009
@@ -21,6 +21,7 @@
 
 import org.apache.maven.model.Build;
 import org.apache.maven.model.Model;
+import org.apache.maven.model.ModelBuildingRequest;
 import org.apache.maven.model.Plugin;
 import org.apache.maven.model.PluginExecution;
 import org.apache.maven.model.ReportPlugin;
@@ -39,7 +40,7 @@
     implements PluginConfigurationExpander
 {
 
-    public void expandPluginConfiguration( Model model )
+    public void expandPluginConfiguration( Model model, ModelBuildingRequest request )
     {
         Build build = model.getBuild();
         Reporting reporting = model.getReporting();

Modified: maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/plugin/PluginConfigurationExpander.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/plugin/PluginConfigurationExpander.java?rev=781133&r1=781132&r2=781133&view=diff
==============================================================================
--- maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/plugin/PluginConfigurationExpander.java (original)
+++ maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/plugin/PluginConfigurationExpander.java Tue Jun  2 19:31:34 2009
@@ -20,6 +20,7 @@
  */
 
 import org.apache.maven.model.Model;
+import org.apache.maven.model.ModelBuildingRequest;
 
 /**
  * Handles expansion of general plugin configuration into individual executions and report sets.
@@ -34,7 +35,8 @@
      * given model.
      * 
      * @param model The model whose plugin configuration should be expanded, must not be <code>null</code>.
+     * @param request The model building request that holds further settings, must not be {@code null}.
      */
-    void expandPluginConfiguration( Model model );
+    void expandPluginConfiguration( Model model, ModelBuildingRequest request );
 
 }

Modified: maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/profile/DefaultProfileInjector.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/profile/DefaultProfileInjector.java?rev=781133&r1=781132&r2=781133&view=diff
==============================================================================
--- maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/profile/DefaultProfileInjector.java (original)
+++ maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/profile/DefaultProfileInjector.java Tue Jun  2 19:31:34 2009
@@ -25,6 +25,7 @@
 import org.apache.maven.model.BuildBase;
 import org.apache.maven.model.Model;
 import org.apache.maven.model.ModelBase;
+import org.apache.maven.model.ModelBuildingRequest;
 import org.apache.maven.model.Profile;
 import org.apache.maven.model.merge.MavenModelMerger;
 import org.codehaus.plexus.component.annotations.Component;
@@ -41,7 +42,7 @@
 
     private ProfileModelMerger merger = new ProfileModelMerger();
 
-    public void injectProfile( Model model, Profile profile )
+    public void injectProfile( Model model, Profile profile, ModelBuildingRequest request )
     {
         if ( profile != null )
         {

Modified: maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/profile/ProfileInjector.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/profile/ProfileInjector.java?rev=781133&r1=781132&r2=781133&view=diff
==============================================================================
--- maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/profile/ProfileInjector.java (original)
+++ maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/profile/ProfileInjector.java Tue Jun  2 19:31:34 2009
@@ -20,6 +20,7 @@
  */
 
 import org.apache.maven.model.Model;
+import org.apache.maven.model.ModelBuildingRequest;
 import org.apache.maven.model.Profile;
 
 /**
@@ -35,7 +36,8 @@
      * 
      * @param model The model into which to merge the values defined by the profile, must not be <code>null</code>.
      * @param profile The (read-only) profile whose values should be injected, may be <code>null</code>.
+     * @param request The model building request that holds further settings, must not be {@code null}.
      */
-    void injectProfile( Model model, Profile profile );
+    void injectProfile( Model model, Profile profile, ModelBuildingRequest request );
 
 }

Modified: maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java?rev=781133&r1=781132&r2=781133&view=diff
==============================================================================
--- maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java (original)
+++ maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java Tue Jun  2 19:31:34 2009
@@ -26,6 +26,7 @@
 import org.apache.maven.model.Dependency;
 import org.apache.maven.model.DependencyManagement;
 import org.apache.maven.model.Model;
+import org.apache.maven.model.ModelBuildingRequest;
 import org.apache.maven.model.Parent;
 import org.apache.maven.model.Plugin;
 import org.apache.maven.model.ReportPlugin;
@@ -46,7 +47,7 @@
 
     private static final String ID_REGEX = "[A-Za-z0-9_\\-.]+";
 
-    public ModelValidationResult validateRawModel( Model model, boolean lenient )
+    public ModelValidationResult validateRawModel( Model model, ModelBuildingRequest request )
     {
         ModelValidationResult result = new ModelValidationResult();
 
@@ -71,7 +72,7 @@
         return result;
     }
 
-    public ModelValidationResult validateEffectiveModel( Model model, boolean lenient )
+    public ModelValidationResult validateEffectiveModel( Model model, ModelBuildingRequest request )
     {
         ModelValidationResult result = new ModelValidationResult();
 
@@ -173,7 +174,7 @@
             }
         }
 
-        if ( !lenient )
+        if ( !request.istLenientValidation() )
         {
             Build build = model.getBuild();
             if ( build != null )

Modified: maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/validation/ModelValidator.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/validation/ModelValidator.java?rev=781133&r1=781132&r2=781133&view=diff
==============================================================================
--- maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/validation/ModelValidator.java (original)
+++ maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/validation/ModelValidator.java Tue Jun  2 19:31:34 2009
@@ -20,6 +20,7 @@
  */
 
 import org.apache.maven.model.Model;
+import org.apache.maven.model.ModelBuildingRequest;
 
 /**
  * Checks the model for missing or invalid values.
@@ -35,23 +36,19 @@
      * file and has not been subjected to inheritance, interpolation or profile/default injection.
      * 
      * @param model The model to validate, must not be {@code null}.
-     * @param lenient A flag whether validation should be lenient instead of strict. For building of projects, strict
-     *            validation should be used to ensure proper building. For the mere retrievel of dependencies during
-     *            artifact resolution, lenient validation should be used to account for models of poor quality.
+     * @param request The model building request that holds further settings, must not be {@code null}.
      * @return The result of the validation, never {@code null}.
      */
-    ModelValidationResult validateRawModel( Model model, boolean lenient );
+    ModelValidationResult validateRawModel( Model model, ModelBuildingRequest request );
 
     /**
      * Checks the specified (effective) model for missing or invalid values. The effective model is fully assembled and
      * has undergone inheritance, interpolation and other model operations.
      * 
      * @param model The model to validate, must not be {@code null}.
-     * @param lenient A flag whether validation should be lenient instead of strict. For building of projects, strict
-     *            validation should be used to ensure proper building. For the mere retrievel of dependencies during
-     *            artifact resolution, lenient validation should be used to account for models of poor quality.
+     * @param request The model building request that holds further settings, must not be {@code null}.
      * @return The result of the validation, never {@code null}.
      */
-    ModelValidationResult validateEffectiveModel( Model model, boolean lenient );
+    ModelValidationResult validateEffectiveModel( Model model, ModelBuildingRequest request );
 
 }

Modified: maven/components/trunk/maven-model-builder/src/test/java/org/apache/maven/model/validation/DefaultModelValidatorTest.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-model-builder/src/test/java/org/apache/maven/model/validation/DefaultModelValidatorTest.java?rev=781133&r1=781132&r2=781133&view=diff
==============================================================================
--- maven/components/trunk/maven-model-builder/src/test/java/org/apache/maven/model/validation/DefaultModelValidatorTest.java (original)
+++ maven/components/trunk/maven-model-builder/src/test/java/org/apache/maven/model/validation/DefaultModelValidatorTest.java Tue Jun  2 19:31:34 2009
@@ -22,7 +22,9 @@
 import java.io.InputStream;
 import java.util.List;
 
+import org.apache.maven.model.DefaultModelBuildingRequest;
 import org.apache.maven.model.Model;
+import org.apache.maven.model.ModelBuildingRequest;
 import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
 import org.codehaus.plexus.PlexusTestCase;
 
@@ -48,19 +50,20 @@
     private ModelValidationResult validate( String pom )
         throws Exception
     {
-        return validate(pom, false, false);
+        return validate( pom, false, false );
     }
 
     private ModelValidationResult validate( String pom, boolean raw, boolean lenient )
         throws Exception
     {
+        ModelBuildingRequest request = new DefaultModelBuildingRequest().setLenientValidation( lenient );
         if ( raw )
         {
-            return validator.validateRawModel( read( pom ), lenient );
+            return validator.validateRawModel( read( pom ), request );
         }
         else
         {
-            return validator.validateEffectiveModel( read( pom ), lenient );
+            return validator.validateEffectiveModel( read( pom ), request );
         }
     }