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/09/22 13:43:11 UTC

svn commit: r817609 - in /maven/maven-3/trunk: maven-model-builder/src/main/java/org/apache/maven/model/merge/ maven-model-builder/src/main/java/org/apache/maven/model/validation/ maven-model-builder/src/test/java/org/apache/maven/model/validation/ mav...

Author: bentmann
Date: Tue Sep 22 11:43:11 2009
New Revision: 817609

URL: http://svn.apache.org/viewvc?rev=817609&view=rev
Log:
o Fixed validation of model version

Added:
    maven/maven-3/trunk/maven-model-builder/src/test/resources/poms/validation/bad-modelVersion.xml   (with props)
Modified:
    maven/maven-3/trunk/maven-model-builder/src/main/java/org/apache/maven/model/merge/MavenModelMerger.java
    maven/maven-3/trunk/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java
    maven/maven-3/trunk/maven-model-builder/src/test/java/org/apache/maven/model/validation/DefaultModelValidatorTest.java
    maven/maven-3/trunk/maven-model/src/main/java/org/apache/maven/model/merge/ModelMerger.java

Modified: maven/maven-3/trunk/maven-model-builder/src/main/java/org/apache/maven/model/merge/MavenModelMerger.java
URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-model-builder/src/main/java/org/apache/maven/model/merge/MavenModelMerger.java?rev=817609&r1=817608&r2=817609&view=diff
==============================================================================
--- maven/maven-3/trunk/maven-model-builder/src/main/java/org/apache/maven/model/merge/MavenModelMerger.java (original)
+++ maven/maven-3/trunk/maven-model-builder/src/main/java/org/apache/maven/model/merge/MavenModelMerger.java Tue Sep 22 11:43:11 2009
@@ -20,7 +20,6 @@
  */
 
 import java.util.ArrayList;
-import java.util.Iterator;
 import java.util.LinkedHashMap;
 import java.util.LinkedHashSet;
 import java.util.LinkedList;
@@ -166,6 +165,12 @@
     }
 
     @Override
+    protected void mergeModel_ModelVersion( Model target, Model source, boolean sourceDominant, Map<Object, Object> context )
+    {
+        // neither inherited nor injected
+    }
+
+    @Override
     protected void mergeModel_Profiles( Model target, Model source, boolean sourceDominant, Map<Object, Object> context )
     {
         // neither inherited nor injected

Modified: maven/maven-3/trunk/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java
URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java?rev=817609&r1=817608&r2=817609&view=diff
==============================================================================
--- maven/maven-3/trunk/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java (original)
+++ maven/maven-3/trunk/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java Tue Sep 22 11:43:11 2009
@@ -73,6 +73,7 @@
 
         if ( request.getValidationLevel() >= ModelBuildingRequest.VALIDATION_LEVEL_MAVEN_2_0 )
         {
+            validateEnum( "modelVersion", problems, false, model.getModelVersion(), null, "4.0.0" );
             validateStringNoExpression( "groupId", problems, true, model.getGroupId() );
             validateStringNoExpression( "artifactId", problems, true, model.getArtifactId() );
             validateStringNoExpression( "version", problems, true, model.getVersion() );

Modified: maven/maven-3/trunk/maven-model-builder/src/test/java/org/apache/maven/model/validation/DefaultModelValidatorTest.java
URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-model-builder/src/test/java/org/apache/maven/model/validation/DefaultModelValidatorTest.java?rev=817609&r1=817608&r2=817609&view=diff
==============================================================================
--- maven/maven-3/trunk/maven-model-builder/src/test/java/org/apache/maven/model/validation/DefaultModelValidatorTest.java (original)
+++ maven/maven-3/trunk/maven-model-builder/src/test/java/org/apache/maven/model/validation/DefaultModelValidatorTest.java Tue Sep 22 11:43:11 2009
@@ -112,6 +112,17 @@
         assertEquals( "'modelVersion' is missing.", result.getErrors().get( 0 ) );
     }
 
+    public void testBadModelVersion()
+        throws Exception
+    {
+        SimpleProblemCollector result =
+            validateRaw( "bad-modelVersion.xml", ModelBuildingRequest.VALIDATION_LEVEL_STRICT );
+
+        assertViolations( result, 1, 0 );
+
+        assertTrue( result.getErrors().get( 0 ).indexOf( "modelVersion" ) > -1 );
+    }
+
     public void testMissingArtifactId()
         throws Exception
     {

Added: maven/maven-3/trunk/maven-model-builder/src/test/resources/poms/validation/bad-modelVersion.xml
URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-model-builder/src/test/resources/poms/validation/bad-modelVersion.xml?rev=817609&view=auto
==============================================================================
--- maven/maven-3/trunk/maven-model-builder/src/test/resources/poms/validation/bad-modelVersion.xml (added)
+++ maven/maven-3/trunk/maven-model-builder/src/test/resources/poms/validation/bad-modelVersion.xml Tue Sep 22 11:43:11 2009
@@ -0,0 +1,25 @@
+<!--
+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.
+-->
+
+<project>
+  <modelVersion>99.0.0</modelVersion>
+  <groupId>foo</groupId>
+  <artifactId>bar</artifactId>
+  <version>0.1</version>
+</project>

Propchange: maven/maven-3/trunk/maven-model-builder/src/test/resources/poms/validation/bad-modelVersion.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/maven-3/trunk/maven-model-builder/src/test/resources/poms/validation/bad-modelVersion.xml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Modified: maven/maven-3/trunk/maven-model/src/main/java/org/apache/maven/model/merge/ModelMerger.java
URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-model/src/main/java/org/apache/maven/model/merge/ModelMerger.java?rev=817609&r1=817608&r2=817609&view=diff
==============================================================================
--- maven/maven-3/trunk/maven-model/src/main/java/org/apache/maven/model/merge/ModelMerger.java (original)
+++ maven/maven-3/trunk/maven-model/src/main/java/org/apache/maven/model/merge/ModelMerger.java Tue Sep 22 11:43:11 2009
@@ -21,7 +21,6 @@
 
 import java.util.ArrayList;
 import java.util.HashMap;
-import java.util.Iterator;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;