[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();
+ }
+ }
+ }
+
+}