[MNG-6075] Increase the model validation level to the next minor level version.
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java b/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java
index 86abcbc..2bcca2b 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java
@@ -374,6 +374,7 @@
         suite.addTestSuite( MavenITmng4008MergedFilterOrderTest.class );
         suite.addTestSuite( MavenITmng4007PlatformFileSeparatorTest.class );
         suite.addTestSuite( MavenITmng4005UniqueDependencyKeyTest.class );
+        suite.addTestSuite( MavenITmng4005UniqueDependencyKey34Test.class );
         suite.addTestSuite( MavenITmng4000MultiPluginExecutionsTest.class );
         suite.addTestSuite( MavenITmng3998PluginExecutionConfigTest.class );
         suite.addTestSuite( MavenITmng3991ValidDependencyScopeTest.class );
@@ -447,6 +448,7 @@
         suite.addTestSuite( MavenITmng3724ExecutionProjectSyncTest.class );
         suite.addTestSuite( MavenITmng3723ConcreteParentProjectTest.class );
         suite.addTestSuite( MavenITmng3719PomExecutionOrderingTest.class );
+        suite.addTestSuite( MavenITmng3719PomExecutionOrdering34Test.class );
         suite.addTestSuite( MavenITmng3716AggregatorForkingTest.class );
         suite.addTestSuite( MavenITmng3714ToolchainsCliOptionTest.class );
         suite.addTestSuite( MavenITmng3710PollutedClonedPluginsTest.class );
@@ -596,6 +598,7 @@
         suite.addTestSuite( MavenITmng1751ForcedMetadataUpdateDuringDeploymentTest.class );
         suite.addTestSuite( MavenITmng1703PluginMgmtDepInheritanceTest.class );
         suite.addTestSuite( MavenITmng1701DuplicatePluginTest.class );
+        suite.addTestSuite( MavenITmng1701DuplicatePlugin34Test.class );
         suite.addTestSuite( MavenITmng1493NonStandardModulePomNamesTest.class );
         suite.addTestSuite( MavenITmng1491ReactorArtifactIdCollisionTest.class );
         suite.addTestSuite( MavenITmng1415QuotedSystemPropertiesTest.class );
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng1701DuplicatePlugin34Test.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng1701DuplicatePlugin34Test.java
new file mode 100644
index 0000000..188d552
--- /dev/null
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng1701DuplicatePlugin34Test.java
@@ -0,0 +1,70 @@
+package org.apache.maven.it;
+
+/*
+ * 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 org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+/**
+ * This is a test set for <a href="https://issues.apache.org/jira/browse/MNG-1701">MNG-1701</a>.
+ *
+ * @author Benjamin Bentmann
+ */
+public class MavenITmng1701DuplicatePlugin34Test
+    extends AbstractMavenIntegrationTestCase
+{
+
+    public MavenITmng1701DuplicatePlugin34Test()
+    {
+        super( "[3.4,)" );
+    }
+
+    /**
+     * Verify that duplicate plugin declarations cause an error.
+     */
+    public void testit()
+        throws Exception
+    {
+        Verifier verifier = null;
+
+        try
+        {
+            File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-1701" );
+
+            verifier = newVerifier( testDir.getAbsolutePath() );
+            verifier.setAutoclean( false );
+            verifier.executeGoal( "validate" );
+            fail( "Expected 'VerificationException' due to duplicate plugin declarations not thrown." );
+        }
+        catch ( final VerificationException e )
+        {
+            // Expected.
+        }
+        finally
+        {
+            if ( verifier != null )
+            {
+                verifier.resetStreams();
+            }
+        }
+    }
+
+}
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3719PomExecutionOrdering34Test.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3719PomExecutionOrdering34Test.java
new file mode 100644
index 0000000..00295ab
--- /dev/null
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3719PomExecutionOrdering34Test.java
@@ -0,0 +1,73 @@
+package org.apache.maven.it;
+
+/*
+ * 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 org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+/**
+ * This is a test set for <a href="https://issues.apache.org/jira/browse/MNG-3719">MNG-3719</a>.
+ *
+ * @author Brett Porter
+ * @version $Id$
+ */
+public class MavenITmng3719PomExecutionOrdering34Test
+    extends AbstractMavenIntegrationTestCase
+{
+
+    public MavenITmng3719PomExecutionOrdering34Test()
+    {
+        super( "[3.4,)" );
+    }
+
+    /**
+     * Test that 3 executions are run in the correct order.
+     */
+    public void testitMNG3719()
+        throws Exception
+    {
+        Verifier verifier = null;
+
+        try
+        {
+            File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-3719" );
+
+            verifier = newVerifier( testDir.getAbsolutePath() );
+            verifier.setAutoclean( false );
+            verifier.deleteDirectory( "target" );
+            verifier.executeGoal( "validate" );
+
+            fail( "Expected 'VerificationException' not thrown." );
+        }
+        catch ( final VerificationException e )
+        {
+            // Expected.
+        }
+        finally
+        {
+            if ( verifier != null )
+            {
+                verifier.resetStreams();
+            }
+        }
+    }
+
+}
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4005UniqueDependencyKey34Test.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4005UniqueDependencyKey34Test.java
new file mode 100644
index 0000000..63a82de
--- /dev/null
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4005UniqueDependencyKey34Test.java
@@ -0,0 +1,105 @@
+package org.apache.maven.it;
+
+/*
+ * 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 org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+/**
+ * This is a test set for <a href="https://issues.apache.org/jira/browse/MNG-4005">MNG-4005</a>.
+ *
+ * @author Benjamin Bentmann
+ */
+public class MavenITmng4005UniqueDependencyKey34Test
+    extends AbstractMavenIntegrationTestCase
+{
+
+    public MavenITmng4005UniqueDependencyKey34Test()
+    {
+        super( "[3.4,)" );
+    }
+
+    /**
+     * Test that duplicate dependencies cause a validation error during building.
+     */
+    public void testitDependency()
+        throws Exception
+    {
+        test( "dep" );
+    }
+
+    /**
+     * Test that duplicate managed dependencies cause a validation error during building.
+     */
+    public void testitManagedDependency()
+        throws Exception
+    {
+        test( "man-dep" );
+    }
+
+    /**
+     * Test that duplicate dependencies in profiles cause a validation error during building.
+     */
+    public void testitProfileDependency()
+        throws Exception
+    {
+        test( "profile-dep" );
+    }
+
+    /**
+     * Test that duplicate managed dependencies in profiles cause a validation error during building.
+     */
+    public void testitProfileManagedDependency()
+        throws Exception
+    {
+        test( "profile-man-dep" );
+    }
+
+    private void test( String project )
+        throws Exception
+    {
+        Verifier verifier = null;
+
+        try
+        {
+            File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-4005/" + project );
+
+            verifier = newVerifier( testDir.getAbsolutePath() );
+            verifier.setAutoclean( false );
+            verifier.deleteDirectory( "target" );
+            verifier.executeGoal( "validate" );
+
+            fail( "Expected 'VerificationException' not thrown." );
+        }
+        catch ( final VerificationException e )
+        {
+            // Expected.
+        }
+        finally
+        {
+            if ( verifier != null )
+            {
+                verifier.resetStreams();
+            }
+        }
+    }
+
+}