You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ti...@apache.org on 2022/04/08 15:42:51 UTC

[maven-surefire] branch release/2.22.3 updated (4ce1433c4 -> 2e81a3d77)

This is an automated email from the ASF dual-hosted git repository.

tibordigana pushed a change to branch release/2.22.3
in repository https://gitbox.apache.org/repos/asf/maven-surefire.git


 discard 4ce1433c4 [SUREFIRE-2060] JDK 18 support
     new f5aeff8e2 [SUREFIRE-1964] Support for method filtering on excludesFile and includesFile committers: Ildefonso Montero, Tibor Digaňa Add the implementation and integration tests Add some unit tests Add some javadoc to includesFile and excludesFile
     new 2e81a3d77 [SUREFIRE-2060] JDK 18 support

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (4ce1433c4)
            \
             N -- N -- N   refs/heads/release/2.22.3 (2e81a3d77)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../maven/plugin/failsafe/IntegrationTestMojo.java |  14 +++
 .../plugin/surefire/AbstractSurefireMojo.java      | 127 +++++++++++++--------
 .../maven/plugin/surefire/MojoMocklessTest.java    |   6 +
 .../maven/plugin/surefire/SurefirePlugin.java      |  16 ++-
 .../its/AbstractTestMultipleMethodPatterns.java    |   3 +-
 ...ouldNotBeIgnoredIT.java => Surefire1964IT.java} |  30 +++--
 .../test/resources/surefire-1964/exclusions.txt    |   1 +
 .../test/resources/surefire-1964/inclusions.txt    |   1 +
 .../resources/{junit4 => surefire-1964}/pom.xml    |  17 +--
 .../src/test/java/pkg/ExcludedTest.java            |  12 ++
 .../src/test/java/pkg/FilterTest.java              |  24 ++++
 11 files changed, 184 insertions(+), 67 deletions(-)
 copy surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/{Surefire1426JvmCrashShouldNotBeIgnoredIT.java => Surefire1964IT.java} (55%)
 create mode 100644 surefire-its/src/test/resources/surefire-1964/exclusions.txt
 create mode 100644 surefire-its/src/test/resources/surefire-1964/inclusions.txt
 copy surefire-its/src/test/resources/{junit4 => surefire-1964}/pom.xml (77%)
 create mode 100644 surefire-its/src/test/resources/surefire-1964/src/test/java/pkg/ExcludedTest.java
 create mode 100644 surefire-its/src/test/resources/surefire-1964/src/test/java/pkg/FilterTest.java


[maven-surefire] 01/02: [SUREFIRE-1964] Support for method filtering on excludesFile and includesFile committers: Ildefonso Montero, Tibor Digaňa Add the implementation and integration tests Add some unit tests Add some javadoc to includesFile and excludesFile

Posted by ti...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

tibordigana pushed a commit to branch release/2.22.3
in repository https://gitbox.apache.org/repos/asf/maven-surefire.git

commit f5aeff8e2ee79d321e3acc1a25779d1bdd439d62
Author: tibordigana <ti...@apache.org>
AuthorDate: Fri Apr 8 17:37:49 2022 +0200

    [SUREFIRE-1964] Support for method filtering on excludesFile and includesFile
    committers: Ildefonso Montero, Tibor Digaňa
    Add the implementation and integration tests
    Add some unit tests
    Add some javadoc to includesFile and excludesFile
---
 .../maven/plugin/failsafe/IntegrationTestMojo.java |  14 +++
 .../plugin/surefire/AbstractSurefireMojo.java      | 127 +++++++++++++--------
 .../maven/plugin/surefire/MojoMocklessTest.java    |   6 +
 .../maven/plugin/surefire/SurefirePlugin.java      |  16 ++-
 .../its/AbstractTestMultipleMethodPatterns.java    |   3 +-
 .../maven/surefire/its/jiras/Surefire1964IT.java   |  55 +++++++++
 .../test/resources/surefire-1964/exclusions.txt    |   1 +
 .../test/resources/surefire-1964/inclusions.txt    |   1 +
 .../src/test/resources/surefire-1964/pom.xml       |  58 ++++++++++
 .../src/test/java/pkg/ExcludedTest.java            |  12 ++
 .../src/test/java/pkg/FilterTest.java              |  24 ++++
 11 files changed, 268 insertions(+), 49 deletions(-)

diff --git a/maven-failsafe-plugin/src/main/java/org/apache/maven/plugin/failsafe/IntegrationTestMojo.java b/maven-failsafe-plugin/src/main/java/org/apache/maven/plugin/failsafe/IntegrationTestMojo.java
index 51414cf75..1ddc8eec5 100644
--- a/maven-failsafe-plugin/src/main/java/org/apache/maven/plugin/failsafe/IntegrationTestMojo.java
+++ b/maven-failsafe-plugin/src/main/java/org/apache/maven/plugin/failsafe/IntegrationTestMojo.java
@@ -322,6 +322,13 @@ public class IntegrationTestMojo
      * **{@literal /}NotIncludedByDefault.java
      * %regex[.*IT.*|.*Not.*]
      * </code></pre>
+     * <br>
+     * Since 2.22.3, method filtering support is provided in the inclusions file as well, example:
+     * <pre><code>
+     * pkg.SomeIT#testMethod
+     * </code></pre>
+     *
+     * @since 2.13
      */
     @Parameter( property = "failsafe.includesFile" )
     private File includesFile;
@@ -335,6 +342,13 @@ public class IntegrationTestMojo
      * **{@literal /}DontRunIT.*
      * %regex[.*IT.*|.*Not.*]
      * </code></pre>
+     * <br>
+     * Since 2.22.3, method filtering support is provided in the exclusions file as well, example:
+     * <pre><code>
+     * pkg.SomeIT#testMethod
+     * </code></pre>
+     *
+     * @since 2.13
      */
     @Parameter( property = "failsafe.excludesFile" )
     private File excludesFile;
diff --git a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/AbstractSurefireMojo.java b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/AbstractSurefireMojo.java
index 2aa6dd405..9881cb747 100644
--- a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/AbstractSurefireMojo.java
+++ b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/AbstractSurefireMojo.java
@@ -861,6 +861,11 @@ public abstract class AbstractSurefireMojo
         }
     }
 
+    void setLogger( Logger logger )
+    {
+        this.logger = logger;
+    }
+
     @Nonnull
     protected final PluginConsoleLogger getConsoleLogger()
     {
@@ -1939,78 +1944,110 @@ public abstract class AbstractSurefireMojo
         }
     }
 
-    private void maybeAppendList( List<String> base, List<String> list )
+    @Nonnull
+    private List<String> getExcludedScanList()
+        throws MojoFailureException
     {
-        if ( list != null )
-        {
-            base.addAll( list );
-        }
+        return getExcludeList( true );
+    }
+
+    @Nonnull
+    private List<String> getExcludeList()
+        throws MojoFailureException
+    {
+        return getExcludeList( false );
     }
 
-    @Nonnull private List<String> getExcludeList()
+    /**
+     * Computes a merge list of test exclusions.
+     * Used only in {@link #getExcludeList()} and {@link #getExcludedScanList()}.
+     * @param asScanList true if dependency or directory scanner
+     * @return list of patterns
+     * @throws MojoFailureException if the excludes breaks a pattern format
+     */
+    @Nonnull
+    private List<String> getExcludeList( boolean asScanList )
         throws MojoFailureException
     {
-        List<String> actualExcludes = null;
+        List<String> excludes;
         if ( isSpecificTestSpecified() )
         {
-            actualExcludes = Collections.emptyList();
+            excludes = Collections.emptyList();
         }
         else
         {
-            if ( getExcludesFile() != null )
+            excludes = new ArrayList<String>();
+            if ( asScanList )
             {
-                actualExcludes = readListFromFile( getExcludesFile() );
+                if ( getExcludes() != null )
+                {
+                    excludes.addAll( getExcludes() );
+                }
+                checkMethodFilterInIncludesExcludes( excludes );
             }
 
-            if ( actualExcludes == null )
-            {
-                actualExcludes = getExcludes();
-            }
-            else
+            if ( getExcludesFile() != null )
             {
-                maybeAppendList( actualExcludes, getExcludes() );
+                excludes.addAll( readListFromFile( getExcludesFile() ) );
             }
 
-            checkMethodFilterInIncludesExcludes( actualExcludes );
-
-            if ( actualExcludes == null || actualExcludes.isEmpty() )
+            if ( asScanList && excludes.isEmpty() )
             {
-                actualExcludes = Collections.singletonList( getDefaultExcludes() );
+                excludes = singletonList( getDefaultExcludes() );
             }
         }
-        return filterNulls( actualExcludes );
+        return filterNulls( excludes );
     }
 
+    @Nonnull
+    private List<String> getIncludedScanList()
+        throws MojoFailureException
+    {
+        return getIncludeList( true );
+    }
+
+    @Nonnull
     private List<String> getIncludeList()
         throws MojoFailureException
     {
-        List<String> includes = null;
+        return getIncludeList( false );
+    }
+
+    /**
+     * Computes a merge list of test inclusions.
+     * Used only in {@link #getIncludeList()} and {@link #getIncludedScanList()}.
+     * @param asScanList true if dependency or directory scanner
+     * @return list of patterns
+     * @throws MojoFailureException if the includes breaks a pattern format
+     */
+    @Nonnull
+    private List<String> getIncludeList( boolean asScanList )
+        throws MojoFailureException
+    {
+        final List<String> includes = new ArrayList<String>();
         if ( isSpecificTestSpecified() )
         {
-            includes = new ArrayList<String>();
             addAll( includes, split( getTest(), "," ) );
         }
         else
         {
-            if ( getIncludesFile() != null )
+            if ( asScanList )
             {
-                includes = readListFromFile( getIncludesFile() );
+                if ( getIncludes() != null )
+                {
+                    includes.addAll( getIncludes() );
+                }
+                checkMethodFilterInIncludesExcludes( includes );
             }
 
-            if ( includes == null )
-            {
-                includes = getIncludes();
-            }
-            else
+            if ( getIncludesFile() != null )
             {
-                maybeAppendList( includes, getIncludes() );
+                includes.addAll( readListFromFile( getIncludesFile() ) );
             }
 
-            checkMethodFilterInIncludesExcludes( includes );
-
-            if ( includes == null || includes.isEmpty() )
+            if ( asScanList && includes.isEmpty() )
             {
-                includes = asList( getDefaultIncludes() );
+                addAll( includes, getDefaultIncludes() );
             }
         }
 
@@ -2020,16 +2057,12 @@ public abstract class AbstractSurefireMojo
     private void checkMethodFilterInIncludesExcludes( Iterable<String> patterns )
         throws MojoFailureException
     {
-        if ( patterns != null )
+        for ( String pattern : patterns )
         {
-            for ( String pattern : patterns )
+            if ( pattern != null && pattern.contains( "#" ) )
             {
-                if ( pattern != null && pattern.contains( "#" ) )
-                {
-                    throw new MojoFailureException( "Method filter prohibited in "
-                                                        + "includes|excludes|includesFile|excludesFile parameter: "
-                                                        + pattern );
-                }
+                throw new MojoFailureException( "Method filter prohibited in includes|excludes parameter: "
+                    + pattern );
             }
         }
     }
@@ -2039,16 +2072,18 @@ public abstract class AbstractSurefireMojo
     {
         if ( includedExcludedTests == null )
         {
-            includedExcludedTests = new TestListResolver( getIncludeList(), getExcludeList() );
+            includedExcludedTests = new TestListResolver( getIncludedScanList(), getExcludedScanList() );
+            getConsoleLogger().debug( "Resolved included and excluded patterns: " + includedExcludedTests );
         }
         return includedExcludedTests;
     }
 
     public TestListResolver getSpecificTests()
+        throws MojoFailureException
     {
         if ( specificTests == null )
         {
-            specificTests = new TestListResolver( getTest() );
+            specificTests = new TestListResolver( getIncludeList(), getExcludeList() );
         }
         return specificTests;
     }
@@ -2554,7 +2589,7 @@ public abstract class AbstractSurefireMojo
         if ( filteredArtifact != null )
         {
             filter = new ExcludesArtifactFilter(
-                Collections.singletonList( filteredArtifact.getGroupId() + ":" + filteredArtifact.getArtifactId() ) );
+                singletonList( filteredArtifact.getGroupId() + ":" + filteredArtifact.getArtifactId() ) );
         }
 
         Artifact originatingArtifact = getArtifactFactory().createBuildArtifact( "dummy", "dummy", "1.0", "jar" );
diff --git a/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/MojoMocklessTest.java b/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/MojoMocklessTest.java
index 91589a2f6..2ecfdae84 100644
--- a/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/MojoMocklessTest.java
+++ b/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/MojoMocklessTest.java
@@ -28,6 +28,7 @@ import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
 import org.apache.maven.surefire.suite.RunResult;
 import org.apache.maven.surefire.util.DefaultScanResult;
+import org.codehaus.plexus.logging.Logger;
 import org.junit.Test;
 
 import java.io.File;
@@ -39,6 +40,7 @@ import java.util.zip.ZipOutputStream;
 import static java.util.Arrays.asList;
 import static java.util.Collections.singletonList;
 import static org.fest.assertions.Assertions.assertThat;
+import static org.mockito.Mockito.mock;
 
 public class MojoMocklessTest
 {
@@ -121,6 +123,7 @@ public class MojoMocklessTest
         List<Artifact> projectTestArtifacts = singletonList( testDeps );
         String[] dependenciesToScan = { "g:a" };
         Mojo mojo = new Mojo( projectTestArtifacts, dependenciesToScan );
+        mojo.setLogger( mock( Logger.class ) );
         DefaultScanResult result = mojo.scanDependencies();
 
         assertThat( result )
@@ -152,6 +155,7 @@ public class MojoMocklessTest
         List<Artifact> projectTestArtifacts = singletonList( testDeps );
         String[] dependenciesToScan = { "g:a" };
         Mojo mojo = new Mojo( projectTestArtifacts, dependenciesToScan );
+        mojo.setLogger( mock( Logger.class ) );
         DefaultScanResult result = mojo.scanDependencies();
 
         assertThat( result )
@@ -183,6 +187,7 @@ public class MojoMocklessTest
         List<Artifact> projectTestArtifacts = singletonList( testDeps );
         String[] dependenciesToScan = { "g:a" };
         Mojo mojo = new Mojo( projectTestArtifacts, dependenciesToScan );
+        mojo.setLogger( mock( Logger.class ) );
         DefaultScanResult result = mojo.scanDependencies();
 
         assertThat( result )
@@ -228,6 +233,7 @@ public class MojoMocklessTest
         List<Artifact> projectTestArtifacts = asList( testDep1, testDep2 );
         String[] dependenciesToScan = { "g:a" };
         Mojo mojo = new Mojo( projectTestArtifacts, dependenciesToScan );
+        mojo.setLogger( mock( Logger.class ) );
         DefaultScanResult result = mojo.scanDependencies();
 
         assertThat( result )
diff --git a/maven-surefire-plugin/src/main/java/org/apache/maven/plugin/surefire/SurefirePlugin.java b/maven-surefire-plugin/src/main/java/org/apache/maven/plugin/surefire/SurefirePlugin.java
index 09a566144..bef35e2c4 100644
--- a/maven-surefire-plugin/src/main/java/org/apache/maven/plugin/surefire/SurefirePlugin.java
+++ b/maven-surefire-plugin/src/main/java/org/apache/maven/plugin/surefire/SurefirePlugin.java
@@ -302,6 +302,13 @@ public class SurefirePlugin
      * **{@literal /}NotIncludedByDefault.java
      * %regex[.*Test.*|.*Not.*]
      * </code></pre>
+     * <br>
+     * Since 2.22.3, method filtering support is provided in the inclusions file as well, example:
+     * <pre><code>
+     * pkg.SomeTest#testMethod
+     * </code></pre>
+     *
+     * @since 2.13
      */
     @Parameter( property = "surefire.includesFile" )
     private File includesFile;
@@ -314,6 +321,13 @@ public class SurefirePlugin
      * **{@literal /}DontRunTest.*
      * %regex[.*Test.*|.*Not.*]
      * </code></pre>
+     *
+     * Since 2.22.3, method filtering support is provided in the exclusions file as well, example:
+     * <pre><code>
+     * pkg.SomeTest#testMethod
+     * </code></pre>
+     *
+     * @since 2.13
      */
     @Parameter( property = "surefire.excludesFile" )
     private File excludesFile;
@@ -394,7 +408,7 @@ public class SurefirePlugin
         final Map<String, Artifact> pluginArtifactMap = getPluginArtifactMap();
         return pluginArtifactMap.get( "org.apache.maven.plugins:maven-surefire-plugin" );
     }
-    
+
     // now for the implementation of the field accessors
 
     @Override
diff --git a/surefire-its/src/test/java/org/apache/maven/surefire/its/AbstractTestMultipleMethodPatterns.java b/surefire-its/src/test/java/org/apache/maven/surefire/its/AbstractTestMultipleMethodPatterns.java
index 01932facf..679df4df8 100644
--- a/surefire-its/src/test/java/org/apache/maven/surefire/its/AbstractTestMultipleMethodPatterns.java
+++ b/surefire-its/src/test/java/org/apache/maven/surefire/its/AbstractTestMultipleMethodPatterns.java
@@ -477,7 +477,6 @@ public abstract class AbstractTestMultipleMethodPatterns
         prepare( pattern )
             .failNever()
             .executeTest()
-            .verifyTextInLog( "Method filter prohibited in includes|excludes|includesFile|excludesFile parameter: "
-                                  + pattern );
+            .verifyTextInLog( "Method filter prohibited in includes|excludes parameter: " + pattern );
     }
 }
diff --git a/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire1964IT.java b/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire1964IT.java
new file mode 100644
index 000000000..62f60d25c
--- /dev/null
+++ b/surefire-its/src/test/java/org/apache/maven/surefire/its/jiras/Surefire1964IT.java
@@ -0,0 +1,55 @@
+package org.apache.maven.surefire.its.jiras;
+
+/*
+ * 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.surefire.its.fixture.SurefireJUnit4IntegrationTestCase;
+import org.junit.Test;
+
+import static org.hamcrest.Matchers.containsString;
+import static org.hamcrest.Matchers.is;
+
+/**
+ *
+ */
+public class Surefire1964IT extends SurefireJUnit4IntegrationTestCase
+{
+    @Test
+    public void shouldFilterTests() throws Exception
+    {
+        unpack( "surefire-1964" )
+            .executeTest()
+            .assertTestSuiteResults( 1 )
+            .assertThatLogLine( containsString( "executed testXYZ" ), is( 1 ) )
+            .assertThatLogLine( containsString( "executed testABC" ), is( 0 ) )
+            .assertThatLogLine( containsString( "executed dontRun" ), is( 0 ) );
+    }
+
+    @Test
+    public void shouldFilterTestsInPluginProcess() throws Exception
+    {
+        unpack( "surefire-1964" )
+            .forkCount( 0 )
+            .executeTest()
+            .assertTestSuiteResults( 1 )
+            .assertThatLogLine( containsString( "executed testXYZ" ), is( 1 ) )
+            .assertThatLogLine( containsString( "executed testABC" ), is( 0 ) )
+            .assertThatLogLine( containsString( "executed dontRun" ), is( 0 ) );
+    }
+}
diff --git a/surefire-its/src/test/resources/surefire-1964/exclusions.txt b/surefire-its/src/test/resources/surefire-1964/exclusions.txt
new file mode 100644
index 000000000..5bacad2ca
--- /dev/null
+++ b/surefire-its/src/test/resources/surefire-1964/exclusions.txt
@@ -0,0 +1 @@
+FilterTest#testABC
\ No newline at end of file
diff --git a/surefire-its/src/test/resources/surefire-1964/inclusions.txt b/surefire-its/src/test/resources/surefire-1964/inclusions.txt
new file mode 100644
index 000000000..50077e4c4
--- /dev/null
+++ b/surefire-its/src/test/resources/surefire-1964/inclusions.txt
@@ -0,0 +1 @@
+FilterTest#test*
\ No newline at end of file
diff --git a/surefire-its/src/test/resources/surefire-1964/pom.xml b/surefire-its/src/test/resources/surefire-1964/pom.xml
new file mode 100644
index 000000000..8f3ba2938
--- /dev/null
+++ b/surefire-its/src/test/resources/surefire-1964/pom.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ 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 xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <groupId>org.example</groupId>
+    <artifactId>maven-surefire-excludefiles</artifactId>
+    <version>1.0-SNAPSHOT</version>
+
+    <properties>
+        <maven.compiler.source>${java.specification.version}</maven.compiler.source>
+        <maven.compiler.target>${java.specification.version}</maven.compiler.target>
+    </properties>
+
+    <dependencies>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <version>4.13.2</version>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <version>${surefire.version}</version>
+                <configuration>
+                    <includesFile>inclusions.txt</includesFile>
+                    <excludesFile>exclusions.txt</excludesFile>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>
diff --git a/surefire-its/src/test/resources/surefire-1964/src/test/java/pkg/ExcludedTest.java b/surefire-its/src/test/resources/surefire-1964/src/test/java/pkg/ExcludedTest.java
new file mode 100644
index 000000000..b871231ef
--- /dev/null
+++ b/surefire-its/src/test/resources/surefire-1964/src/test/java/pkg/ExcludedTest.java
@@ -0,0 +1,12 @@
+package pkg;
+
+import org.junit.Test;
+
+public class ExcludedTest
+{
+    @Test
+    public void dontRun()
+    {
+        System.out.println( "executed dontRun" );
+    }
+}
diff --git a/surefire-its/src/test/resources/surefire-1964/src/test/java/pkg/FilterTest.java b/surefire-its/src/test/resources/surefire-1964/src/test/java/pkg/FilterTest.java
new file mode 100644
index 000000000..d93eca929
--- /dev/null
+++ b/surefire-its/src/test/resources/surefire-1964/src/test/java/pkg/FilterTest.java
@@ -0,0 +1,24 @@
+package pkg;
+
+import org.junit.Test;
+
+public class FilterTest
+{
+    @Test
+    public void testABC()
+    {
+        System.out.println( "executed testABC" );
+    }
+
+    @Test
+    public void dontRun()
+    {
+        System.out.println( "executed dontRun" );
+    }
+
+    @Test
+    public void testXYZ()
+    {
+        System.out.println( "executed testXYZ" );
+    }
+}


[maven-surefire] 02/02: [SUREFIRE-2060] JDK 18 support

Posted by ti...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

tibordigana pushed a commit to branch release/2.22.3
in repository https://gitbox.apache.org/repos/asf/maven-surefire.git

commit 2e81a3d77cfadfa72ad83d50f5766b835fece46d
Author: tibordigana <ti...@apache.org>
AuthorDate: Fri Apr 1 23:42:15 2022 +0200

    [SUREFIRE-2060] JDK 18 support
---
 Jenkinsfile                                        |  6 +--
 README.md                                          |  4 +-
 .../src/it/jetty-war-test-failing/pom.xml          |  9 ++++
 .../src/it/jetty-war-test-passing/pom.xml          |  9 ++++
 .../src/it/multiple-summaries-failing/pom.xml      |  4 +-
 .../src/it/multiple-summaries/pom.xml              |  4 +-
 .../src/it/working-directory/pom.xml               |  4 +-
 .../src/site/apt/examples/cucumber.apt.vm          |  8 +--
 pom.xml                                            |  3 +-
 .../maven/surefire/its/AbstractJigsawIT.java       | 39 ++++++++------
 .../its/CheckTestNgListenerReporterIT.java         | 22 +++++---
 .../maven/surefire/its/CheckTestNgVersionsIT.java  | 59 +++++++++-------------
 .../its/JUnit47RerunFailingTestWithCucumberIT.java |  4 +-
 .../maven/surefire/its/JUnit47WithCucumberIT.java  | 20 +++-----
 .../apache/maven/surefire/its/Java9FullApiIT.java  | 26 ++++------
 .../maven/surefire/its/fixture/MavenLauncher.java  | 16 ++----
 .../surefire/its/fixture/SurefireLauncher.java     |  2 +
 .../test/resources/environment-variables/pom.xml   |  4 +-
 .../src/test/resources/failingBuilds/pom.xml       |  4 +-
 .../src/test/resources/failsafe-notests/pom.xml    |  4 +-
 .../test/resources/failure-result-counting/pom.xml |  4 +-
 .../src/test/resources/failureOutput/pom.xml       |  4 +-
 .../src/test/resources/fork-consoleOutput/pom.xml  |  4 +-
 .../resources/fork-consoleOutputWithErrors/pom.xml |  4 +-
 surefire-its/src/test/resources/fork-fail/pom.xml  |  4 +-
 .../test/resources/fork-mode-multimodule/pom.xml   |  4 +-
 .../resources/fork-mode-resource-loading/pom.xml   |  4 +-
 .../src/test/resources/fork-mode-testng/pom.xml    |  4 +-
 surefire-its/src/test/resources/fork-mode/pom.xml  |  4 +-
 .../src/test/resources/fork-timeout/pom.xml        |  4 +-
 .../resources/includes-excludes-from-file/pom.xml  |  4 +-
 .../src/test/resources/includes-excludes/pom.xml   |  4 +-
 .../test/resources/isolated-classloader/pom.xml    |  4 +-
 .../src/test/resources/java9-full-api/pom.xml      |  2 +-
 .../java9-full-api/src/test/java/J9IT.java         |  2 +-
 .../java9-full-api/src/test/java/J9Test.java       |  2 +-
 .../test/resources/junit-fork-mode-always/pom.xml  |  4 +-
 .../src/test/resources/junit-ignore/pom.xml        |  4 +-
 .../src/test/resources/junit-innerClass/pom.xml    |  4 +-
 .../resources/junit-notExtendingTestCase/pom.xml   |  4 +-
 .../test/resources/junit-pathWithUmlaut/pom.xml    |  4 +-
 .../test/resources/junit-twoTestCaseSuite/pom.xml  |  4 +-
 .../src/test/resources/junit-twoTestCases/pom.xml  |  4 +-
 .../resources/junit4-forkAlways-staticInit/pom.xml |  4 +-
 .../resources/junit4-rerun-failing-tests/pom.xml   |  4 +-
 .../src/test/resources/junit4-runlistener/pom.xml  |  4 +-
 .../test/resources/junit4-twoTestCaseSuite/pom.xml |  4 +-
 .../src/test/resources/junit44-dep/pom.xml         |  4 +-
 .../src/test/resources/junit44-environment/pom.xml |  4 +-
 .../src/test/resources/junit44-hamcrest/pom.xml    |  4 +-
 .../test/resources/junit44-method-pattern/pom.xml  |  4 +-
 .../test/resources/junit44-single-method/pom.xml   |  4 +-
 .../src/test/resources/junit47-cucumber/pom.xml    | 14 ++---
 .../org/sample/cucumber/FailingCucumberTest.java   |  5 +-
 .../test/java/org/sample/cucumber/StepDefs.java    |  6 +--
 .../org/sample/cucumber/SuccessCucumberTest.java   |  5 +-
 .../resources/junit47-parallel-with-suite/pom.xml  |  4 +-
 .../test/resources/junit47-redirect-output/pom.xml |  4 +-
 .../pom.xml                                        | 13 +++--
 .../org/sample/cucumber/FlakeCucumberTest.java     |  3 +-
 .../test/java/org/sample/cucumber/StepDefs.java    |  6 +--
 .../junit47-static-inner-class-tests/pom.xml       |  4 +-
 .../src/test/resources/junit48-categories/pom.xml  |  4 +-
 .../test/resources/junit48-smartStackTrace/pom.xml |  4 +-
 .../src/test/resources/norunnableTests/pom.xml     |  4 +-
 .../src/test/resources/parallel-runtime/pom.xml    |  4 +-
 .../resources/plain-old-java-classpath/pom.xml     |  4 +-
 .../src/test/resources/plexus-conflict/pom.xml     |  4 +-
 .../src/test/resources/pojo-simple/pom.xml         |  4 +-
 surefire-its/src/test/resources/pom.xml            |  4 +-
 surefire-its/src/test/resources/reporters/pom.xml  |  4 +-
 .../src/test/resources/result-counting/pom.xml     |  4 +-
 surefire-its/src/test/resources/runOrder/pom.xml   |  4 +-
 .../src/test/resources/runorder-parallel/pom.xml   |  4 +-
 surefire-its/src/test/resources/settings.xml       | 29 -----------
 .../sibling-aggregator/aggregator/pom.xml          |  4 +-
 .../resources/sibling-aggregator/child1/pom.xml    |  4 +-
 .../resources/sibling-aggregator/child2/pom.xml    |  4 +-
 .../test/resources/small-result-counting/pom.xml   |  4 +-
 .../jiras-surefire-1024-testjar/pom.xml            |  4 +-
 .../pom.xml                                        |  4 +-
 .../pom.xml                                        |  4 +-
 .../surefire-1122-parallel-and-flakyTests/pom.xml  |  4 +-
 .../pom.xml                                        |  4 +-
 .../surefire-1202-rerun-and-failfast/pom.xml       |  4 +-
 .../surefire-1209-rerun-and-forkcount/pom.xml      |  4 +-
 .../surefire-1278-group-name-ending/pom.xml        |  4 +-
 .../pom.xml                                        |  4 +-
 .../pom.xml                                        |  4 +-
 .../pom.xml                                        |  4 +-
 .../surefire-141-pluggableproviders/pom.xml        |  4 +-
 .../surefire-146-forkPerTestNoSetup/pom.xml        |  4 +-
 .../surefire-1535-parallel-testng/pom.xml          |  4 +-
 .../resources/surefire-162-charsetProvider/pom.xml |  4 +-
 .../surefire-224-wellFormedXmlFailures/pom.xml     |  4 +-
 .../resources/surefire-257-rerunningTests/pom.xml  |  4 +-
 .../surefire-260-testWithIdenticalNames/pom.xml    |  4 +-
 .../surefire-34-securityManager-success/pom.xml    |  4 +-
 .../resources/surefire-34-securityManager/pom.xml  |  4 +-
 .../surefire-408-manual-provider-selection/pom.xml |  4 +-
 .../resources/surefire-500-puzzling-error/pom.xml  |  4 +-
 .../resources/surefire-510-testClassPath/pom.xml   |  4 +-
 .../surefire-570-multipleReportDirectories/pom.xml |  4 +-
 .../surefire-613-testCount-in-parallel/pom.xml     |  4 +-
 .../pom.xml                                        |  4 +-
 .../pom.xml                                        |  4 +-
 .../surefire-634-systemPropertiesWarning/pom.xml   |  4 +-
 .../test/resources/surefire-673-mockito/pom.xml    | 20 +++++++-
 .../surefire-674-buildFailingWhenErrors/pom.xml    |  4 +-
 .../surefire-685-commaseparatedIncludes/pom.xml    |  4 +-
 .../resources/surefire-697-niceSummary/pom.xml     |  4 +-
 .../surefire-733-allOverridesCaptured/pom.xml      |  4 +-
 .../pom.xml                                        |  4 +-
 .../pom.xml                                        |  4 +-
 .../surefire-806-specifiedTests-multi/pom.xml      |  4 +-
 .../surefire-806-specifiedTests-single/pom.xml     |  4 +-
 .../surefire-809-groupExpr-junit48/pom.xml         |  4 +-
 .../surefire-809-groupExpr-testng/pom.xml          |  4 +-
 .../surefire-812-log4j-classloader/pom.xml         |  4 +-
 .../surefire-818-ignored-tests-on-npe/pom.xml      |  4 +-
 .../surefire-828-emptyGroupExpr-junit48/pom.xml    |  4 +-
 .../surefire-828-emptyGroupExpr-testng/pom.xml     |  4 +-
 .../surefire-832-provider-selection/pom.xml        |  4 +-
 .../test/resources/surefire-847-testngfail/pom.xml |  4 +-
 .../surefire-855-failsafe-use-war/pom.xml          |  2 +-
 .../surefire-930-failsafe-runtests/pom.xml         |  4 +-
 .../surefire-931-provider-failure/pom.xml          |  4 +-
 .../resources/surefire-943-report-content/pom.xml  |  4 +-
 .../pom.xml                                        |  4 +-
 .../surefire-946-self-destruct-plugin/pom.xml      |  4 +-
 .../surefire-972-bizarre-noclassdef/pom.xml        |  4 +-
 .../resources/surefire-975-wrong-encoding/pom.xml  |  4 +-
 .../module1/pom.xml                                |  4 +-
 .../module2/pom.xml                                |  4 +-
 .../pom.xml                                        |  4 +-
 .../src/test/resources/system-properties/pom.xml   |  4 +-
 .../resources/test-helper-dump-pid-plugin/pom.xml  |  4 +-
 .../resources/testng-afterSuiteFailure/pom.xml     |  4 +-
 .../src/test/resources/testng-beforeMethod/pom.xml |  4 +-
 .../resources/testng-beforeMethodFailure/pom.xml   |  4 +-
 .../test/resources/testng-execute-error/pom.xml    |  4 +-
 .../src/test/resources/testng-groups/pom.xml       |  4 +-
 .../src/test/resources/testng-jdk14/pom.xml        |  4 +-
 .../test/resources/testng-junit-together/pom.xml   |  4 +-
 .../resources/testng-listener-reporter/pom.xml     |  4 +-
 .../resources/testng-method-pattern-after/pom.xml  |  4 +-
 .../resources/testng-method-pattern-before/pom.xml |  4 +-
 .../test/resources/testng-method-pattern/pom.xml   |  4 +-
 .../testng-parallel-with-annotations/pom.xml       |  4 +-
 .../test/resources/testng-path with spaces/pom.xml |  4 +-
 .../src/test/resources/testng-simple/pom.xml       |  4 +-
 .../resources/testng-single-method-5-14-9/pom.xml  |  4 +-
 .../test/resources/testng-single-method/pom.xml    |  4 +-
 .../src/test/resources/testng-suite-xml/pom.xml    |  4 +-
 .../test/resources/testng-twoTestCaseSuite/pom.xml |  4 +-
 .../src/test/resources/timeout-forked/pom.xml      |  4 +-
 .../src/test/resources/unicode-testnames/pom.xml   |  4 +-
 .../working-directory-is-invalid-property/pom.xml  |  4 +-
 .../resources/working-directory-missing/pom.xml    |  4 +-
 .../src/test/resources/working-directory/pom.xml   |  4 +-
 160 files changed, 431 insertions(+), 437 deletions(-)

diff --git a/Jenkinsfile b/Jenkinsfile
index c97ac910a..d20109078 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -31,8 +31,8 @@ properties(
 )
 
 final def oses = ['linux':'ubuntu', 'windows':'windows-he']
-final def mavens = env.BRANCH_NAME == 'master' ? ['3.2.x', '3.5.x'] : ['3.5.x']
-final def jdks = [7, 8, 11]
+final def mavens = env.BRANCH_NAME == 'master' ? ['3.2.x', '3.8.x'] : ['3.8.x']
+final def jdks = [7, 8, 11, 18]
 
 final def options = ['-e', '-V', '-B', '-nsu', '-P', 'run-its']
 final def goals = ['clean', 'install', 'jacoco:report']
@@ -71,7 +71,7 @@ oses.eachWithIndex { osMapping, indexOfOs ->
                         def boolean makeReports = os == 'linux' && indexOfMaven == mavens.size() - 1 && jdk == 9
                         def failsafeItPort = 8000 + 100 * indexOfMaven + 10 * indexOfJdk
                         def allOptions = options + ["-Dfailsafe-integration-test-port=${failsafeItPort}", "-Dfailsafe-integration-test-stop-port=${1 + failsafeItPort}"]
-                        if (jdk == 11) {
+                        if (jdk > 11) {
                             allOptions += ['-DskipUnitTests=true']
                         }
                         buildProcess(stageKey, jdkName, jdkTestName, mvnName, goals, allOptions, mavenOpts, makeReports)
diff --git a/README.md b/README.md
index 1fc54582e..ddb1f63cd 100644
--- a/README.md
+++ b/README.md
@@ -34,9 +34,9 @@ But in order to run IT tests, you can do:
   **(on Linux/Unix)** *export MAVEN_OPTS="-server -Xmx512m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=384m -XX:+UseG1GC -XX:+UseStringDeduplication -XX:+TieredCompilation -XX:TieredStopAtLevel=1 -XX:SoftRefLRUPolicyMSPerMB=50 -Djava.awt.headless=true -Dhttps.protocols=TLSv1"*  
   **(on Windows)** *set MAVEN_OPTS="-server -Xmx256m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=384m -XX:+UseG1GC -XX:+UseStringDeduplication -XX:+TieredCompilation -XX:TieredStopAtLevel=1 -XX:SoftRefLRUPolicyMSPerMB=50 -Djava.awt.headless=true -Dhttps.protocols=TLSv1"*    
 * In order to run the build with **JDK 9** **on Windows** (**on Linux/Unix modify system property jdk.home**):  
-  *mvn install site site:stage -P reporting,run-its "-Djdk.home=e:\Program Files\Java\jdk9\"*
+  *mvn install site site:stage -P reporting,run-its "-Djdk.home=/path/to/jdk9"*
 * In order to run the build with **JDK 10** disable JaCoCo due to a [bug in JaCoCo](https://github.com/jacoco/jacoco/issues/629)
-  *mvn install site site:stage -P reporting,run-its -Djacoco.skip=true "-Djdk.home=e:\Program Files\Java\jdk10\"*
+  *mvn install site site:stage -P reporting,run-its -Djacoco.skip=true "-Djdk.home=/path/to/jdk10"*
   
 ### Deploying web site
 
diff --git a/maven-failsafe-plugin/src/it/jetty-war-test-failing/pom.xml b/maven-failsafe-plugin/src/it/jetty-war-test-failing/pom.xml
index 193791db9..79d2619b0 100644
--- a/maven-failsafe-plugin/src/it/jetty-war-test-failing/pom.xml
+++ b/maven-failsafe-plugin/src/it/jetty-war-test-failing/pom.xml
@@ -63,6 +63,15 @@
         <directory>${basedir}/src/test/resources</directory>
       </testResource>
     </testResources>
+    <pluginManagement>
+      <plugins>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-war-plugin</artifactId>
+          <version>3.3.2</version>
+        </plugin>
+      </plugins>
+    </pluginManagement>
     <plugins>
       <plugin>
         <groupId>org.eclipse.jetty</groupId>
diff --git a/maven-failsafe-plugin/src/it/jetty-war-test-passing/pom.xml b/maven-failsafe-plugin/src/it/jetty-war-test-passing/pom.xml
index 31dc8ec57..7e33bfd9f 100644
--- a/maven-failsafe-plugin/src/it/jetty-war-test-passing/pom.xml
+++ b/maven-failsafe-plugin/src/it/jetty-war-test-passing/pom.xml
@@ -63,6 +63,15 @@
         <directory>${basedir}/src/test/resources</directory>
       </testResource>
     </testResources>
+    <pluginManagement>
+      <plugins>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-war-plugin</artifactId>
+          <version>3.3.2</version>
+        </plugin>
+      </plugins>
+    </pluginManagement>
     <plugins>
       <plugin>
         <groupId>org.eclipse.jetty</groupId>
diff --git a/maven-failsafe-plugin/src/it/multiple-summaries-failing/pom.xml b/maven-failsafe-plugin/src/it/multiple-summaries-failing/pom.xml
index aedbdde80..af2df652e 100644
--- a/maven-failsafe-plugin/src/it/multiple-summaries-failing/pom.xml
+++ b/maven-failsafe-plugin/src/it/multiple-summaries-failing/pom.xml
@@ -27,8 +27,8 @@
   <name>Run tests multiple times</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/maven-failsafe-plugin/src/it/multiple-summaries/pom.xml b/maven-failsafe-plugin/src/it/multiple-summaries/pom.xml
index d87409f76..2c508f34d 100644
--- a/maven-failsafe-plugin/src/it/multiple-summaries/pom.xml
+++ b/maven-failsafe-plugin/src/it/multiple-summaries/pom.xml
@@ -27,8 +27,8 @@
   <name>Run tests multiple times</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/maven-failsafe-plugin/src/it/working-directory/pom.xml b/maven-failsafe-plugin/src/it/working-directory/pom.xml
index 6cf2bc58a..22d50341e 100644
--- a/maven-failsafe-plugin/src/it/working-directory/pom.xml
+++ b/maven-failsafe-plugin/src/it/working-directory/pom.xml
@@ -27,8 +27,8 @@
   <name>Run tests in a nonexistent working directory</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/maven-surefire-plugin/src/site/apt/examples/cucumber.apt.vm b/maven-surefire-plugin/src/site/apt/examples/cucumber.apt.vm
index e0436cc28..e211be5ee 100644
--- a/maven-surefire-plugin/src/site/apt/examples/cucumber.apt.vm
+++ b/maven-surefire-plugin/src/site/apt/examples/cucumber.apt.vm
@@ -54,8 +54,8 @@ package org.sample.cucumber;
 
 import org.junit.runner.RunWith;
 
-import cucumber.api.CucumberOptions;
-import cucumber.api.junit.Cucumber;
+import io.cucumber.junit.CucumberOptions;
+import io.cucumber.junit.Cucumber;
 
 @RunWith( Cucumber.class )
 public class RunCucumberTest
@@ -71,8 +71,8 @@ package org.sample.cucumber;
 
 import org.junit.runner.RunWith;
 
-import cucumber.api.CucumberOptions;
-import cucumber.api.junit.Cucumber;
+import io.cucumber.junit.CucumberOptions;
+import io.cucumber.junit.Cucumber;
 
 @RunWith( Cucumber.class )
 public class RunCucumberIT
diff --git a/pom.xml b/pom.xml
index c00ce262f..696894788 100644
--- a/pom.xml
+++ b/pom.xml
@@ -458,6 +458,7 @@
           <artifactId>maven-surefire-plugin</artifactId>
           <version>2.12.4</version> <!-- ${shadedVersion}, but resolved due to https://issues.apache.org/jira/browse/MRELEASE-799 -->
           <configuration>
+            <skipTests>${skipUnitTests}</skipTests>
             <!-- NOTE: Be sure to isolate the Surefire version under test from the version running the tests! -->
             <useSystemClassLoader>false</useSystemClassLoader>
             <argLine>${jvm.args.tests} ${jacoco.agent} -Dnet.bytebuddy.experimental=true</argLine>
@@ -486,7 +487,7 @@
         <plugin>
           <groupId>org.jacoco</groupId>
           <artifactId>jacoco-maven-plugin</artifactId>
-          <version>0.8.2</version>
+          <version>0.8.7</version>
         </plugin>
       </plugins>
     </pluginManagement>
diff --git a/surefire-its/src/test/java/org/apache/maven/surefire/its/AbstractJigsawIT.java b/surefire-its/src/test/java/org/apache/maven/surefire/its/AbstractJigsawIT.java
index 66953011c..891079628 100644
--- a/surefire-its/src/test/java/org/apache/maven/surefire/its/AbstractJigsawIT.java
+++ b/surefire-its/src/test/java/org/apache/maven/surefire/its/AbstractJigsawIT.java
@@ -29,6 +29,7 @@ import java.io.InputStream;
 import java.util.Properties;
 import java.util.StringTokenizer;
 
+import static java.lang.Double.parseDouble;
 import static org.apache.maven.surefire.its.fixture.SurefireLauncher.EXT_JDK_HOME;
 import static org.apache.maven.surefire.its.fixture.SurefireLauncher.EXT_JDK_HOME_KEY;
 import static org.junit.Assert.fail;
@@ -50,7 +51,7 @@ public abstract class AbstractJigsawIT
     protected SurefireLauncher assumeJigsaw() throws IOException
     {
         assumeTrue( "There's no JDK 9 provided.",
-                          isJavaVersion9AtLeast() || EXT_JDK_HOME != null && isExtJavaVerion9AtLeast() );
+                          isJavaVersion9AtLeast() || EXT_JDK_HOME != null && isExtJavaVersion9AtLeast() );
         // fail( EXT_JDK_HOME_KEY + " was provided with value " + EXT_JDK_HOME + " but it is not Jigsaw Java 9." );
 
         SurefireLauncher launcher = unpack();
@@ -60,21 +61,11 @@ public abstract class AbstractJigsawIT
 
     protected SurefireLauncher assumeJava9Property() throws IOException
     {
-        assumeTrue( "There's no JDK 9 provided.", EXT_JDK_HOME != null && isExtJavaVerion9AtLeast() );
+        assumeTrue( "There's no JDK 9 provided.", EXT_JDK_HOME != null && isExtJavaVersion9AtLeast() );
         return unpack();
     }
 
-    private SurefireLauncher unpack()
-    {
-        return unpack( getProjectDirectoryName() );
-    }
-
-    private static boolean isJavaVersion9AtLeast()
-    {
-        return Double.valueOf( System.getProperty( "java.specification.version" ) ) >= JIGSAW_JAVA_VERSION;
-    }
-
-    private static boolean isExtJavaVerion9AtLeast() throws IOException
+    protected static String extractExternalJavaVersion() throws IOException
     {
         File release = new File( EXT_JDK_HOME, "release" );
         assumeTrue( EXT_JDK_HOME_KEY + " was provided with value " + EXT_JDK_HOME + " but file does not exist "
@@ -93,13 +84,31 @@ public abstract class AbstractJigsawIT
         }
         else if ( versions.countTokens() >= 2 )
         {
-            javaVersion = versions.nextToken() + "." + versions.nextToken();
+            String v1 = versions.nextToken();
+            String v2 = versions.nextToken();
+            javaVersion = v1.equals( "1" ) ? v1 + "." + v2 : v1;
         }
         else
         {
             fail( "unexpected java version format" );
         }
+        return javaVersion;
+    }
+
+    private SurefireLauncher unpack()
+    {
+        return unpack( getProjectDirectoryName() );
+    }
+
+    private static boolean isJavaVersion9AtLeast()
+    {
+        return parseDouble( System.getProperty( "java.specification.version" ) ) >= JIGSAW_JAVA_VERSION;
+    }
+
+    private static boolean isExtJavaVersion9AtLeast() throws IOException
+    {
+        String javaVersion = extractExternalJavaVersion();
 
-        return Double.valueOf( javaVersion ) >= JIGSAW_JAVA_VERSION;
+        return parseDouble( javaVersion ) >= JIGSAW_JAVA_VERSION;
     }
 }
diff --git a/surefire-its/src/test/java/org/apache/maven/surefire/its/CheckTestNgListenerReporterIT.java b/surefire-its/src/test/java/org/apache/maven/surefire/its/CheckTestNgListenerReporterIT.java
index 2c618d083..7004f223c 100644
--- a/surefire-its/src/test/java/org/apache/maven/surefire/its/CheckTestNgListenerReporterIT.java
+++ b/surefire-its/src/test/java/org/apache/maven/surefire/its/CheckTestNgListenerReporterIT.java
@@ -19,15 +19,16 @@ package org.apache.maven.surefire.its;
  * under the License.
  */
 
+import java.util.Arrays;
+import java.util.Collection;
+
 import org.apache.maven.surefire.its.fixture.SurefireJUnit4IntegrationTestCase;
 import org.apache.maven.surefire.its.fixture.SurefireLauncher;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
 
-import java.util.Arrays;
-import java.util.Collection;
-
+import static org.apache.maven.surefire.its.fixture.HelperAssertions.assumeJavaMaxVersion;
 import static org.apache.maven.surefire.its.fixture.HelperAssertions.assumeJavaVersion;
 import static org.junit.runners.Parameterized.Parameter;
 import static org.junit.runners.Parameterized.Parameters;
@@ -71,8 +72,9 @@ public class CheckTestNgListenerReporterIT
             { "5.14.6", null, 1.5d }, // Usage of org.testng:guice removed
             { "5.14.9", null, 1.5d }, // Latest 5.14.x TestNG version
             { "6.0", null, 1.5d },
-            { "6.9.9", null, 1.7d } // Currently latest TestNG version
-        });
+            { "6.14.3", null, 1.7d },
+            { "7.5", null, 1.8d } // Currently latest TestNG version
+        } );
     }
 
     @Parameter
@@ -88,6 +90,14 @@ public class CheckTestNgListenerReporterIT
     public void testNgListenerReporter()
     {
         assumeJavaVersion( javaVersion );
+
+        if ( version.equals( "5.13" ) )
+        {
+            // only 5.13 uses Google Guice, reflection which breaks jdk 16+
+            // module java.base does not "opens java.lang" to unnamed module @209c0b14
+            assumeJavaMaxVersion( 15 );
+        }
+
         final SurefireLauncher launcher = unpack( "testng-listener-reporter", "_" + version )
                                                   .sysProp( "testNgVersion", version );
 
@@ -97,7 +107,7 @@ public class CheckTestNgListenerReporterIT
         }
 
         launcher.executeTest()
-                .verifyErrorFree( 1 )
+                .assertTestSuiteResults( 1, 0, 0, 0 )
                 .getTargetFile( "resultlistener-output.txt" ).assertFileExists()
                 .getTargetFile( "suitelistener-output.txt" ).assertFileExists()
                 .getTargetFile( "reporter-output.txt" ).assertFileExists();
diff --git a/surefire-its/src/test/java/org/apache/maven/surefire/its/CheckTestNgVersionsIT.java b/surefire-its/src/test/java/org/apache/maven/surefire/its/CheckTestNgVersionsIT.java
index 6d2bbfa21..8cd91fdeb 100644
--- a/surefire-its/src/test/java/org/apache/maven/surefire/its/CheckTestNgVersionsIT.java
+++ b/surefire-its/src/test/java/org/apache/maven/surefire/its/CheckTestNgVersionsIT.java
@@ -29,6 +29,7 @@ import org.apache.maven.surefire.its.fixture.SurefireLauncher;
 import org.junit.Ignore;
 import org.junit.Test;
 
+import static org.apache.maven.surefire.its.fixture.HelperAssertions.assumeJavaMaxVersion;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 
@@ -45,151 +46,125 @@ public class CheckTestNgVersionsIT
 {
 
     @Test public void test47()
-        throws Exception
     {
         runTestNgTest( "4.7", "jdk15" );
     }
 
-    @Test @Ignore( "5.0 and 5.0.1 jars on central are malformed SUREFIRE-375 + MAVENUPLOAD-1024" ) public void XXXtest50()
-        throws Exception
+    @Test
+    @Ignore( "5.0 and 5.0.1 jars on central are malformed SUREFIRE-375 + MAVENUPLOAD-1024" )
+    public void test50()
     {
         runTestNgTest( "5.0", "jdk15" );
     }
 
-    @Test @Ignore( "5.0 and 5.0.1 jars on central are malformed SUREFIRE-375 + MAVENUPLOAD-1024" ) public void XXXtest501()
-        throws Exception
+    @Test
+    @Ignore( "5.0 and 5.0.1 jars on central are malformed SUREFIRE-375 + MAVENUPLOAD-1024" )
+    public void test501()
     {
         runTestNgTest( "5.0.1", "jdk15" );
     }
 
     @Test public void test502()
-        throws Exception
     {
         runTestNgTest( "5.0.2", "jdk15" );
     }
 
     @Test public void test51()
-        throws Exception
     {
         runTestNgTest( "5.1", "jdk15" );
     }
 
     @Test public void test55()
-        throws Exception
     {
         runTestNgTest( "5.5", "jdk15" );
     }
 
     @Test public void test56()
-        throws Exception
     {
         runTestNgTest( "5.6", "jdk15" );
     }
 
     @Test public void test57()
-        throws Exception
     {
         runTestNgTest( "5.7", "jdk15" );
     }
 
     @Test public void test58()
-        throws Exception
     {
         runTestNgTest( "5.8", "jdk15" );
     }
 
     @Test public void test59()
-        throws Exception
     {
         runTestNgTest( "5.9", "jdk15" );
     }
 
     @Test public void test510()
-        throws Exception
     {
         runTestNgTest( "5.10", "jdk15" );
     }
 
     @Test public void test511()
-        throws Exception
     {
         runTestNgTest( "5.11", "jdk15" );
     }
 
     @Test public void test512()
-        throws Exception
     {
         runTestNgTest( "5.12.1" );
     }
 
     @Test public void test513()
-        throws Exception
     {
         runTestNgTest( "5.13" );
     }
 
     @Test public void test5131()
-        throws Exception
     {
         runTestNgTest( "5.13.1" );
     }
 
     @Test public void test514()
-        throws Exception
     {
         runTestNgTest( "5.14" );
     }
 
     @Test public void test5141()
-        throws Exception
     {
         runTestNgTest( "5.14.1" );
     }
 
     @Test public void test5142()
-        throws Exception
     {
         runTestNgTest( "5.14.2" );
     }
 
     @Test public void test60()
-        throws Exception
     {
         runTestNgTest( "6.0" );
     }
 
     @Test public void test685()
-        throws Exception
     {
         runTestNgTestWithRunOrder( "6.8.5" );
     }
 
     private void runTestNgTestWithRunOrder( String version )
-        throws Exception
     {
         runTestNgTest( version, null, true );
     }
 
     private void runTestNgTest( String version )
-            throws Exception
     {
         runTestNgTest( version, null, false );
     }
 
-    private void runTestNgTest( String version, boolean validateRunOrder )
-            throws Exception
-    {
-        runTestNgTest( version, null, validateRunOrder );
-    }
-
     private void runTestNgTest( String version, String classifier )
-        throws Exception
     {
         runTestNgTest( version, classifier, false );
     }
 
     private void runTestNgTest( String version, String classifier, boolean validateRunOrder )
-        throws Exception
     {
         final SurefireLauncher launcher = unpack( "testng-simple" )
                                             .sysProp( "testNgVersion", version );
@@ -199,6 +174,15 @@ public class CheckTestNgVersionsIT
             launcher.sysProp( "testNgClassifier", classifier );
         }
 
+        if ( version.startsWith( "5.12" ) || version.startsWith( "5.13" ) || version.startsWith( "5.14" ) )
+        {
+            // TestNG 5.12 - 5.14 uses Guava lib ang CGLib with reflective access.
+            // WARNING: Illegal reflective access by com.google.inject.internal.cglib.core.ReflectUtils$2
+            // (testng-5.12.1.jar) to method
+            // java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
+            assumeJavaMaxVersion( 15 );
+        }
+
         final OutputValidator outputValidator = launcher.executeTest();
 
         outputValidator.verifyErrorFreeLog().assertTestSuiteResults( 3, 0, 0, 0 );
@@ -210,9 +194,14 @@ public class CheckTestNgVersionsIT
 
             assertEquals( 3, report.size() );
 
-            assertTrue( "TestNGSuiteTestC was executed first", getTestClass( report, 0 ).endsWith( "TestNGSuiteTestC" ) );
-            assertTrue( "TestNGSuiteTestB was executed second", getTestClass( report, 1 ).endsWith( "TestNGSuiteTestB" ) );
-            assertTrue( "TestNGSuiteTestA was executed last", getTestClass( report, 2 ).endsWith( "TestNGSuiteTestA" ) );
+            assertTrue( "TestNGSuiteTestC was executed first",
+                    getTestClass( report, 0 ).endsWith( "TestNGSuiteTestC" ) );
+
+            assertTrue( "TestNGSuiteTestB was executed second",
+                    getTestClass( report, 1 ).endsWith( "TestNGSuiteTestB" ) );
+
+            assertTrue( "TestNGSuiteTestA was executed last",
+                    getTestClass( report, 2 ).endsWith( "TestNGSuiteTestA" ) );
         }
     }
 
diff --git a/surefire-its/src/test/java/org/apache/maven/surefire/its/JUnit47RerunFailingTestWithCucumberIT.java b/surefire-its/src/test/java/org/apache/maven/surefire/its/JUnit47RerunFailingTestWithCucumberIT.java
index 9fe17755d..006a5b964 100644
--- a/surefire-its/src/test/java/org/apache/maven/surefire/its/JUnit47RerunFailingTestWithCucumberIT.java
+++ b/surefire-its/src/test/java/org/apache/maven/surefire/its/JUnit47RerunFailingTestWithCucumberIT.java
@@ -38,8 +38,8 @@ public class JUnit47RerunFailingTestWithCucumberIT
     extends SurefireJUnit4IntegrationTestCase {
 
     @Before
-    public void assumeJdk17() {
-        assumeJavaVersion(1.7d);
+    public void assumeJava8Plus() {
+        assumeJavaVersion(1.8d);
     }
 
 
diff --git a/surefire-its/src/test/java/org/apache/maven/surefire/its/JUnit47WithCucumberIT.java b/surefire-its/src/test/java/org/apache/maven/surefire/its/JUnit47WithCucumberIT.java
index 38c2eae83..e01a34bb1 100644
--- a/surefire-its/src/test/java/org/apache/maven/surefire/its/JUnit47WithCucumberIT.java
+++ b/surefire-its/src/test/java/org/apache/maven/surefire/its/JUnit47WithCucumberIT.java
@@ -38,33 +38,29 @@ public class JUnit47WithCucumberIT
 {
 
     @Before
-    public void assumeJdk16()
+    public void assumeJava8Plus()
     {
-        assumeJavaVersion( 1.6d );
+        assumeJavaVersion( 1.8d );
     }
 
     @Test
     public void testWithoutParallel()
     {
-        // 8 tests in total is what's probably correct
-        doTest( "none", 8 );
+        doTest( "none" );
     }
 
     @Test
     public void testWithParallelClasses()
     {
-        // with parallel=classes, we get 9 tests in total,
-        // as the dummy "scenario" test entry is reported twice: once as success, and once with the failure from the
-        // failing test step
-        doTest( "classes", 9 );
+        doTest( "classes" );
     }
 
-    private void doTest( String parallel, int total )
+    private void doTest( String parallel )
     {
         unpack( "junit47-cucumber" )
-                .sysProp( "parallel", parallel )
-                .sysProp( "threadCount", "2" )
+                .parallel( parallel )
+                .threadCount( 2 )
                 .executeTest()
-                .assertTestSuiteResults( total, 0, 2, 0 );
+                .assertTestSuiteResults( 2, 0, 1, 0 );
     }
 }
diff --git a/surefire-its/src/test/java/org/apache/maven/surefire/its/Java9FullApiIT.java b/surefire-its/src/test/java/org/apache/maven/surefire/its/Java9FullApiIT.java
index ec9a68881..1dde3b17b 100644
--- a/surefire-its/src/test/java/org/apache/maven/surefire/its/Java9FullApiIT.java
+++ b/surefire-its/src/test/java/org/apache/maven/surefire/its/Java9FullApiIT.java
@@ -19,15 +19,14 @@ package org.apache.maven.surefire.its;
  * under the License.
  */
 
+import java.io.File;
+
 import org.apache.maven.surefire.its.fixture.OutputValidator;
 import org.junit.Test;
 
-import java.io.File;
-
 import static org.apache.maven.surefire.its.fixture.SurefireLauncher.EXT_JDK_HOME;
 import static org.apache.maven.surefire.its.fixture.SurefireLauncher.EXT_JDK_HOME_KEY;
-import static org.hamcrest.Matchers.anyOf;
-import static org.hamcrest.Matchers.greaterThanOrEqualTo;
+import static org.hamcrest.Matchers.containsString;
 import static org.hamcrest.Matchers.is;
 
 /**
@@ -50,15 +49,13 @@ public class Java9FullApiIT
                                             .execute( "verify" )
                                             .verifyErrorFree( 1 );
 
+        String jVersion = extractExternalJavaVersion();
         validator.verifyTextInLog( "loaded class java.sql.SQLException" )
                 .verifyTextInLog( "loaded class javax.xml.ws.Holder" )
                 .verifyTextInLog( "loaded class javax.xml.bind.JAXBException" )
                 .verifyTextInLog( "loaded class javax.transaction.TransactionManager" )
                 .verifyTextInLog( "loaded class javax.transaction.InvalidTransactionException" )
-                .assertThatLogLine( anyOf( is( "java.specification.version=9" ),
-                                           is( "java.specification.version=10" ),
-                                           is( "java.specification.version=11" ) ),
-                                    greaterThanOrEqualTo( 1 ) );
+                .assertThatLogLine( containsString( "java.specification.version is " + jVersion ), is( 2 ) );
     }
 
     @Test
@@ -71,15 +68,13 @@ public class Java9FullApiIT
                                             .execute( "verify" )
                                             .verifyErrorFree( 1 );
 
+        String jVersion = extractExternalJavaVersion();
         validator.verifyTextInLog( "loaded class java.sql.SQLException" )
                 .verifyTextInLog( "loaded class javax.xml.ws.Holder" )
                 .verifyTextInLog( "loaded class javax.xml.bind.JAXBException" )
                 .verifyTextInLog( "loaded class javax.transaction.TransactionManager" )
                 .verifyTextInLog( "loaded class javax.transaction.InvalidTransactionException" )
-                .assertThatLogLine( anyOf( is( "java.specification.version=9" ),
-                                           is( "java.specification.version=10" ),
-                                           is( "java.specification.version=11" ) ),
-                                    greaterThanOrEqualTo( 1 ) );
+                .assertThatLogLine( containsString( "java.specification.version is " + jVersion ), is( 2 ) );
     }
 
     @Test
@@ -87,21 +82,20 @@ public class Java9FullApiIT
     {
         OutputValidator validator = assumeJava9Property()
                                             .setForkJvm()
+                                            .debugLogging()
                                             .activateProfile( "use-toolchains" )
                                             .addGoal( "--toolchains" )
                                             .addGoal( System.getProperty( "maven.toolchains.file" ) )
                                             .execute( "verify" )
                                             .verifyErrorFree( 1 );
 
+        String jVersion = System.getProperty( "java.specification.version" );
         validator.verifyTextInLog( "loaded class java.sql.SQLException" )
                 .verifyTextInLog( "loaded class javax.xml.ws.Holder" )
                 .verifyTextInLog( "loaded class javax.xml.bind.JAXBException" )
                 .verifyTextInLog( "loaded class javax.transaction.TransactionManager" )
                 .verifyTextInLog( "loaded class javax.transaction.InvalidTransactionException" )
-                .assertThatLogLine( anyOf( is( "java.specification.version=9" ),
-                                           is( "java.specification.version=10" ),
-                                           is( "java.specification.version=11" ) ),
-                                    greaterThanOrEqualTo( 1 ) );
+                .assertThatLogLine( containsString( "java.specification.version is " + jVersion ), is( 2 ) );
     }
 
     @Override
diff --git a/surefire-its/src/test/java/org/apache/maven/surefire/its/fixture/MavenLauncher.java b/surefire-its/src/test/java/org/apache/maven/surefire/its/fixture/MavenLauncher.java
index 1cbfb6bbe..eb6cf0182 100755
--- a/surefire-its/src/test/java/org/apache/maven/surefire/its/fixture/MavenLauncher.java
+++ b/surefire-its/src/test/java/org/apache/maven/surefire/its/fixture/MavenLauncher.java
@@ -160,8 +160,10 @@ public final class MavenLauncher
     public OutputValidator getSubProjectValidator( String subProject )
         throws VerificationException
     {
-        final File subFile = getValidator().getSubFile( subProject );
-        return new OutputValidator( new Verifier( subFile.getAbsolutePath() ) );
+        File subFile = getValidator().getSubFile( subProject );
+        Verifier subProjectVerifier = new Verifier( subFile.getAbsolutePath() );
+        subProjectVerifier.setLocalRepo( System.getProperty( "localRepository" ) );
+        return new OutputValidator( subProjectVerifier );
     }
 
     public MavenLauncher addEnvVar( String key, String value )
@@ -292,17 +294,10 @@ public final class MavenLauncher
     {
         try
         {
-            File generatedSettings = new File( System.getProperty( "maven.settings.file" ) ).getCanonicalFile();
-            String generatedSettingsPath = generatedSettings.getAbsolutePath();
-            addCliOption( "-s " + generatedSettingsPath );
             getVerifier().setCliOptions( cliOptions );
             getVerifier().executeGoals( goals, envvars );
             return getValidator();
         }
-        catch ( IOException e )
-        {
-            throw new SurefireVerifierException( e.getLocalizedMessage(), e );
-        }
         catch ( VerificationException e )
         {
             throw new SurefireVerifierException( e.getLocalizedMessage(), e );
@@ -390,8 +385,7 @@ public final class MavenLauncher
                     ? new Verifier( ensureUnpacked().getAbsolutePath(), null, false )
                     : new Verifier( ensureUnpacked().getAbsolutePath(), null, false, cli );
 
-                verifier.getVerifierProperties()
-                        .setProperty( "use.mavenRepoLocal", "false" );
+                verifier.setLocalRepo( System.getProperty( "localRepository" ) );
             }
             catch ( VerificationException e )
             {
diff --git a/surefire-its/src/test/java/org/apache/maven/surefire/its/fixture/SurefireLauncher.java b/surefire-its/src/test/java/org/apache/maven/surefire/its/fixture/SurefireLauncher.java
index 0e4062256..c9fbe6c4a 100755
--- a/surefire-its/src/test/java/org/apache/maven/surefire/its/fixture/SurefireLauncher.java
+++ b/surefire-its/src/test/java/org/apache/maven/surefire/its/fixture/SurefireLauncher.java
@@ -147,6 +147,8 @@ public final class SurefireLauncher
 
         goals.add( "-Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2" );
 
+        goals.add( "-nsu" );
+
         return goals;
     }
 
diff --git a/surefire-its/src/test/resources/environment-variables/pom.xml b/surefire-its/src/test/resources/environment-variables/pom.xml
index 6b8e3bcb4..902e97e97 100644
--- a/surefire-its/src/test/resources/environment-variables/pom.xml
+++ b/surefire-its/src/test/resources/environment-variables/pom.xml
@@ -31,8 +31,8 @@
     <properties>
       <forkMode>always</forkMode>
       <useSystemClassLoader>false</useSystemClassLoader>
-      <maven.compiler.source>1.6</maven.compiler.source>
-      <maven.compiler.target>1.6</maven.compiler.target>
+      <maven.compiler.source>1.7</maven.compiler.source>
+      <maven.compiler.target>1.7</maven.compiler.target>
     </properties>
   <dependencies>
     <dependency>
diff --git a/surefire-its/src/test/resources/failingBuilds/pom.xml b/surefire-its/src/test/resources/failingBuilds/pom.xml
index d30dbb34e..8e988ad8e 100644
--- a/surefire-its/src/test/resources/failingBuilds/pom.xml
+++ b/surefire-its/src/test/resources/failingBuilds/pom.xml
@@ -34,7 +34,7 @@
   <properties>
     <junit.version>4.8.1</junit.version>
     <forkMode>once</forkMode>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 </project>
diff --git a/surefire-its/src/test/resources/failsafe-notests/pom.xml b/surefire-its/src/test/resources/failsafe-notests/pom.xml
index b6d29b96b..24d1dec53 100644
--- a/surefire-its/src/test/resources/failsafe-notests/pom.xml
+++ b/surefire-its/src/test/resources/failsafe-notests/pom.xml
@@ -28,8 +28,8 @@
   <name>failsafe-notests</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/failure-result-counting/pom.xml b/surefire-its/src/test/resources/failure-result-counting/pom.xml
index 9d6ae8463..7d79f2949 100644
--- a/surefire-its/src/test/resources/failure-result-counting/pom.xml
+++ b/surefire-its/src/test/resources/failure-result-counting/pom.xml
@@ -32,7 +32,7 @@
   <properties>
     <junit.version>4.10</junit.version>
     <forkMode>once</forkMode>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 </project>
diff --git a/surefire-its/src/test/resources/failureOutput/pom.xml b/surefire-its/src/test/resources/failureOutput/pom.xml
index e6ad639fc..85c10ee21 100644
--- a/surefire-its/src/test/resources/failureOutput/pom.xml
+++ b/surefire-its/src/test/resources/failureOutput/pom.xml
@@ -43,8 +43,8 @@
       <printSummary>true</printSummary>
       <useFile>true</useFile>
       <reportFormat>brief</reportFormat>
-      <maven.compiler.source>1.6</maven.compiler.source>
-      <maven.compiler.target>1.6</maven.compiler.target>
+      <maven.compiler.source>1.7</maven.compiler.source>
+      <maven.compiler.target>1.7</maven.compiler.target>
     </properties>
 
 </project>
diff --git a/surefire-its/src/test/resources/fork-consoleOutput/pom.xml b/surefire-its/src/test/resources/fork-consoleOutput/pom.xml
index 1c89877c8..407d86bc9 100644
--- a/surefire-its/src/test/resources/fork-consoleOutput/pom.xml
+++ b/surefire-its/src/test/resources/fork-consoleOutput/pom.xml
@@ -40,8 +40,8 @@
       <forkMode>once</forkMode>
       <printSummary>true</printSummary>
       <reportFormat>brief</reportFormat>
-      <maven.compiler.source>1.6</maven.compiler.source>
-      <maven.compiler.target>1.6</maven.compiler.target>
+      <maven.compiler.source>1.7</maven.compiler.source>
+      <maven.compiler.target>1.7</maven.compiler.target>
     </properties>
 
 </project>
diff --git a/surefire-its/src/test/resources/fork-consoleOutputWithErrors/pom.xml b/surefire-its/src/test/resources/fork-consoleOutputWithErrors/pom.xml
index 5f3af23f3..9aa5e1be0 100644
--- a/surefire-its/src/test/resources/fork-consoleOutputWithErrors/pom.xml
+++ b/surefire-its/src/test/resources/fork-consoleOutputWithErrors/pom.xml
@@ -43,8 +43,8 @@
       <printSummary>true</printSummary>
       <useFile>true</useFile>
       <reportFormat>brief</reportFormat>
-      <maven.compiler.source>1.6</maven.compiler.source>
-      <maven.compiler.target>1.6</maven.compiler.target>
+      <maven.compiler.source>1.7</maven.compiler.source>
+      <maven.compiler.target>1.7</maven.compiler.target>
     </properties>
 
 </project>
diff --git a/surefire-its/src/test/resources/fork-fail/pom.xml b/surefire-its/src/test/resources/fork-fail/pom.xml
index 8825613d6..9db6d725b 100644
--- a/surefire-its/src/test/resources/fork-fail/pom.xml
+++ b/surefire-its/src/test/resources/fork-fail/pom.xml
@@ -30,8 +30,8 @@
 
   <properties>
     <argLine>-Xmxxxx712743m</argLine>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <build>
diff --git a/surefire-its/src/test/resources/fork-mode-multimodule/pom.xml b/surefire-its/src/test/resources/fork-mode-multimodule/pom.xml
index 708598cac..e0786b1d6 100644
--- a/surefire-its/src/test/resources/fork-mode-multimodule/pom.xml
+++ b/surefire-its/src/test/resources/fork-mode-multimodule/pom.xml
@@ -31,8 +31,8 @@
   <packaging>pom</packaging>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <modules>
diff --git a/surefire-its/src/test/resources/fork-mode-resource-loading/pom.xml b/surefire-its/src/test/resources/fork-mode-resource-loading/pom.xml
index 21a0fc2e3..e40033c47 100644
--- a/surefire-its/src/test/resources/fork-mode-resource-loading/pom.xml
+++ b/surefire-its/src/test/resources/fork-mode-resource-loading/pom.xml
@@ -29,8 +29,8 @@
   <name>Test for forkMode</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <build>
diff --git a/surefire-its/src/test/resources/fork-mode-testng/pom.xml b/surefire-its/src/test/resources/fork-mode-testng/pom.xml
index 1f1956beb..8e25749f5 100644
--- a/surefire-its/src/test/resources/fork-mode-testng/pom.xml
+++ b/surefire-its/src/test/resources/fork-mode-testng/pom.xml
@@ -13,8 +13,8 @@
   <name>Test for forkMode</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <build>
diff --git a/surefire-its/src/test/resources/fork-mode/pom.xml b/surefire-its/src/test/resources/fork-mode/pom.xml
index ad9ec476d..28bfb4d7e 100644
--- a/surefire-its/src/test/resources/fork-mode/pom.xml
+++ b/surefire-its/src/test/resources/fork-mode/pom.xml
@@ -29,8 +29,8 @@
   <name>Test for forkMode</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <build>
diff --git a/surefire-its/src/test/resources/fork-timeout/pom.xml b/surefire-its/src/test/resources/fork-timeout/pom.xml
index 67d85e9cb..25365a29f 100644
--- a/surefire-its/src/test/resources/fork-timeout/pom.xml
+++ b/surefire-its/src/test/resources/fork-timeout/pom.xml
@@ -12,8 +12,8 @@
     <junit.parallel>classes</junit.parallel>
     <forkMode>once</forkMode>
     <timeOut>1</timeOut>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
   <dependencies>
       <dependency>
diff --git a/surefire-its/src/test/resources/includes-excludes-from-file/pom.xml b/surefire-its/src/test/resources/includes-excludes-from-file/pom.xml
index d69c1292f..39313db17 100644
--- a/surefire-its/src/test/resources/includes-excludes-from-file/pom.xml
+++ b/surefire-its/src/test/resources/includes-excludes-from-file/pom.xml
@@ -31,8 +31,8 @@ under the License.
 
   <properties>
     <junit.version>3.8.2</junit.version>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/includes-excludes/pom.xml b/surefire-its/src/test/resources/includes-excludes/pom.xml
index f107168a2..77711f758 100644
--- a/surefire-its/src/test/resources/includes-excludes/pom.xml
+++ b/surefire-its/src/test/resources/includes-excludes/pom.xml
@@ -31,8 +31,8 @@ under the License.
 
   <properties>
     <junit.version>3.8.2</junit.version>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/isolated-classloader/pom.xml b/surefire-its/src/test/resources/isolated-classloader/pom.xml
index e76114144..a853063ec 100644
--- a/surefire-its/src/test/resources/isolated-classloader/pom.xml
+++ b/surefire-its/src/test/resources/isolated-classloader/pom.xml
@@ -29,8 +29,8 @@
   <name>Test for useSystemClassLoader=false</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <build>
diff --git a/surefire-its/src/test/resources/java9-full-api/pom.xml b/surefire-its/src/test/resources/java9-full-api/pom.xml
index 2e4d4f34a..ffec71e24 100644
--- a/surefire-its/src/test/resources/java9-full-api/pom.xml
+++ b/surefire-its/src/test/resources/java9-full-api/pom.xml
@@ -83,7 +83,7 @@
 
     <profiles>
         <profile>
-            <id>use-jvm-config-paramater</id>
+            <id>use-jvm-config-parameter</id>
             <activation>
                 <property>
                     <name>jdk.home</name>
diff --git a/surefire-its/src/test/resources/java9-full-api/src/test/java/J9IT.java b/surefire-its/src/test/resources/java9-full-api/src/test/java/J9IT.java
index c74678d61..bfe3dedfa 100644
--- a/surefire-its/src/test/resources/java9-full-api/src/test/java/J9IT.java
+++ b/surefire-its/src/test/resources/java9-full-api/src/test/java/J9IT.java
@@ -31,7 +31,7 @@ public class J9IT
         System.out.println( "from classloader " + javax.transaction.InvalidTransactionException.class.getClassLoader() );
         System.out.println( "loaded class " + javax.transaction.TransactionManager.class.getName() );
         System.out.println( "loaded class " + javax.xml.xpath.XPath.class.getName() );
-        System.out.println( "java.specification.version=" + System.getProperty( "java.specification.version" ) );
+        System.out.println( "java.specification.version is " + System.getProperty( "java.specification.version" ) );
     }
 
 }
diff --git a/surefire-its/src/test/resources/java9-full-api/src/test/java/J9Test.java b/surefire-its/src/test/resources/java9-full-api/src/test/java/J9Test.java
index 6fc8536bd..3caa7dd5f 100644
--- a/surefire-its/src/test/resources/java9-full-api/src/test/java/J9Test.java
+++ b/surefire-its/src/test/resources/java9-full-api/src/test/java/J9Test.java
@@ -30,7 +30,7 @@ public class J9Test
         System.out.println( "loaded class " + javax.transaction.InvalidTransactionException.class.getName() );
         System.out.println( "loaded class " + javax.transaction.TransactionManager.class.getName() );
         System.out.println( "loaded class " + javax.xml.xpath.XPath.class.getName() );
-        System.out.println( "java.specification.version=" + System.getProperty( "java.specification.version" ) );
+        System.out.println( "java.specification.version is " + System.getProperty( "java.specification.version" ) );
     }
 
 }
diff --git a/surefire-its/src/test/resources/junit-fork-mode-always/pom.xml b/surefire-its/src/test/resources/junit-fork-mode-always/pom.xml
index 8b48b463c..9b86c75f8 100644
--- a/surefire-its/src/test/resources/junit-fork-mode-always/pom.xml
+++ b/surefire-its/src/test/resources/junit-fork-mode-always/pom.xml
@@ -29,8 +29,8 @@
   <name>Test for forkMode</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <build>
diff --git a/surefire-its/src/test/resources/junit-ignore/pom.xml b/surefire-its/src/test/resources/junit-ignore/pom.xml
index a9547fc24..d9c38170a 100644
--- a/surefire-its/src/test/resources/junit-ignore/pom.xml
+++ b/surefire-its/src/test/resources/junit-ignore/pom.xml
@@ -32,8 +32,8 @@
     <junit.version>4.4</junit.version>
     <surefire.parallel></surefire.parallel>
     <surefire.threadcount>3</surefire.threadcount>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/junit-innerClass/pom.xml b/surefire-its/src/test/resources/junit-innerClass/pom.xml
index ac9852321..fb1ffd6f2 100644
--- a/surefire-its/src/test/resources/junit-innerClass/pom.xml
+++ b/surefire-its/src/test/resources/junit-innerClass/pom.xml
@@ -29,8 +29,8 @@
   <name>Test JUnit classes with inner classes</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/junit-notExtendingTestCase/pom.xml b/surefire-its/src/test/resources/junit-notExtendingTestCase/pom.xml
index 3a05cf19c..8a952017e 100644
--- a/surefire-its/src/test/resources/junit-notExtendingTestCase/pom.xml
+++ b/surefire-its/src/test/resources/junit-notExtendingTestCase/pom.xml
@@ -29,8 +29,8 @@
   <name>Test for JUnit tests that don't extend TestCase</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/junit-pathWithUmlaut/pom.xml b/surefire-its/src/test/resources/junit-pathWithUmlaut/pom.xml
index 9f947e0f4..ee654917c 100644
--- a/surefire-its/src/test/resources/junit-pathWithUmlaut/pom.xml
+++ b/surefire-its/src/test/resources/junit-pathWithUmlaut/pom.xml
@@ -29,8 +29,8 @@
   <name>Test path with Ümlaut</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/junit-twoTestCaseSuite/pom.xml b/surefire-its/src/test/resources/junit-twoTestCaseSuite/pom.xml
index ce121c733..f2075ae63 100644
--- a/surefire-its/src/test/resources/junit-twoTestCaseSuite/pom.xml
+++ b/surefire-its/src/test/resources/junit-twoTestCaseSuite/pom.xml
@@ -29,8 +29,8 @@
   <name>Test for single suite with two test cases</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <build>
diff --git a/surefire-its/src/test/resources/junit-twoTestCases/pom.xml b/surefire-its/src/test/resources/junit-twoTestCases/pom.xml
index 51ad8b282..89684adc2 100644
--- a/surefire-its/src/test/resources/junit-twoTestCases/pom.xml
+++ b/surefire-its/src/test/resources/junit-twoTestCases/pom.xml
@@ -24,8 +24,8 @@
   <modelVersion>4.0.0</modelVersion>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <groupId>org.apache.maven.plugins.surefire</groupId>
diff --git a/surefire-its/src/test/resources/junit4-forkAlways-staticInit/pom.xml b/surefire-its/src/test/resources/junit4-forkAlways-staticInit/pom.xml
index 77ce5c4f3..4bfc08121 100644
--- a/surefire-its/src/test/resources/junit4-forkAlways-staticInit/pom.xml
+++ b/surefire-its/src/test/resources/junit4-forkAlways-staticInit/pom.xml
@@ -11,8 +11,8 @@
   </description>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/junit4-rerun-failing-tests/pom.xml b/surefire-its/src/test/resources/junit4-rerun-failing-tests/pom.xml
index 1bf63c708..9456a29f3 100644
--- a/surefire-its/src/test/resources/junit4-rerun-failing-tests/pom.xml
+++ b/surefire-its/src/test/resources/junit4-rerun-failing-tests/pom.xml
@@ -29,8 +29,8 @@
   <name>Test for rerun failing tests in JUnit 4</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/junit4-runlistener/pom.xml b/surefire-its/src/test/resources/junit4-runlistener/pom.xml
index ff22b913f..d7765334e 100644
--- a/surefire-its/src/test/resources/junit4-runlistener/pom.xml
+++ b/surefire-its/src/test/resources/junit4-runlistener/pom.xml
@@ -31,8 +31,8 @@
   <properties>
     <junitVersion>4.4</junitVersion>
     <provider>surefire-junit4</provider>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/junit4-twoTestCaseSuite/pom.xml b/surefire-its/src/test/resources/junit4-twoTestCaseSuite/pom.xml
index 583622428..867cd0992 100644
--- a/surefire-its/src/test/resources/junit4-twoTestCaseSuite/pom.xml
+++ b/surefire-its/src/test/resources/junit4-twoTestCaseSuite/pom.xml
@@ -31,8 +31,8 @@
 
   <properties>
     <junitVersion>4.4</junitVersion>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/junit44-dep/pom.xml b/surefire-its/src/test/resources/junit44-dep/pom.xml
index bae6ad661..d26c02402 100644
--- a/surefire-its/src/test/resources/junit44-dep/pom.xml
+++ b/surefire-its/src/test/resources/junit44-dep/pom.xml
@@ -29,8 +29,8 @@
   <name>Test for junit-dep</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/junit44-environment/pom.xml b/surefire-its/src/test/resources/junit44-environment/pom.xml
index af18c21ee..eb0444336 100644
--- a/surefire-its/src/test/resources/junit44-environment/pom.xml
+++ b/surefire-its/src/test/resources/junit44-environment/pom.xml
@@ -29,8 +29,8 @@
   <name>Test for setting environment variables</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/junit44-hamcrest/pom.xml b/surefire-its/src/test/resources/junit44-hamcrest/pom.xml
index c5e44ab1c..4140b41da 100644
--- a/surefire-its/src/test/resources/junit44-hamcrest/pom.xml
+++ b/surefire-its/src/test/resources/junit44-hamcrest/pom.xml
@@ -29,8 +29,8 @@
   <name>Test for JUnit44 with Hamcrest extensions</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/junit44-method-pattern/pom.xml b/surefire-its/src/test/resources/junit44-method-pattern/pom.xml
index 3ed4b2aa5..e9ac59e33 100644
--- a/surefire-its/src/test/resources/junit44-method-pattern/pom.xml
+++ b/surefire-its/src/test/resources/junit44-method-pattern/pom.xml
@@ -31,8 +31,8 @@
 
   <properties>
     <junitVersion>4.4</junitVersion>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/junit44-single-method/pom.xml b/surefire-its/src/test/resources/junit44-single-method/pom.xml
index 26769becb..c74aee2d0 100644
--- a/surefire-its/src/test/resources/junit44-single-method/pom.xml
+++ b/surefire-its/src/test/resources/junit44-single-method/pom.xml
@@ -31,8 +31,8 @@
 
   <properties>
     <junitVersion>4.4</junitVersion>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/junit47-cucumber/pom.xml b/surefire-its/src/test/resources/junit47-cucumber/pom.xml
index a57d3c4cf..17a8859d4 100644
--- a/surefire-its/src/test/resources/junit47-cucumber/pom.xml
+++ b/surefire-its/src/test/resources/junit47-cucumber/pom.xml
@@ -29,13 +29,11 @@
   </parent>
 
   <artifactId>junit47-cucumber</artifactId>
-  <packaging>jar</packaging>
 
   <name>Tests cucumber with JUnit47 provider</name>
 
   <properties>
-    <cucumber.version>1.1.3</cucumber.version>
-    <junit.version>4.11</junit.version>
+    <cucumber.version>6.10.0</cucumber.version>
   </properties>
 
   <build>
@@ -60,19 +58,13 @@
 
   <dependencies>
     <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>${junit.version}</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>info.cukes</groupId>
+      <groupId>io.cucumber</groupId>
       <artifactId>cucumber-java</artifactId>
       <version>${cucumber.version}</version>
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>info.cukes</groupId>
+      <groupId>io.cucumber</groupId>
       <artifactId>cucumber-junit</artifactId>
       <version>${cucumber.version}</version>
       <scope>test</scope>
diff --git a/surefire-its/src/test/resources/junit47-cucumber/src/test/java/org/sample/cucumber/FailingCucumberTest.java b/surefire-its/src/test/resources/junit47-cucumber/src/test/java/org/sample/cucumber/FailingCucumberTest.java
index ed86734ca..448b87742 100644
--- a/surefire-its/src/test/resources/junit47-cucumber/src/test/java/org/sample/cucumber/FailingCucumberTest.java
+++ b/surefire-its/src/test/resources/junit47-cucumber/src/test/java/org/sample/cucumber/FailingCucumberTest.java
@@ -21,10 +21,11 @@ package org.sample.cucumber;
 
 import org.junit.runner.RunWith;
 
-import cucumber.api.junit.Cucumber;
+import io.cucumber.junit.CucumberOptions;
+import io.cucumber.junit.Cucumber;
 
 @RunWith( Cucumber.class )
-@Cucumber.Options( features = { "classpath:failing" } )
+@CucumberOptions( features = { "classpath:failing" } )
 public class FailingCucumberTest
 {
 
diff --git a/surefire-its/src/test/resources/junit47-cucumber/src/test/java/org/sample/cucumber/StepDefs.java b/surefire-its/src/test/resources/junit47-cucumber/src/test/java/org/sample/cucumber/StepDefs.java
index ba25f6999..e5e733992 100644
--- a/surefire-its/src/test/resources/junit47-cucumber/src/test/java/org/sample/cucumber/StepDefs.java
+++ b/surefire-its/src/test/resources/junit47-cucumber/src/test/java/org/sample/cucumber/StepDefs.java
@@ -19,9 +19,9 @@
 
 package org.sample.cucumber;
 
-import cucumber.api.java.en.Given;
-import cucumber.api.java.en.Then;
-import cucumber.api.java.en.When;
+import io.cucumber.java.en.Given;
+import io.cucumber.java.en.Then;
+import io.cucumber.java.en.When;
 
 import static org.junit.Assert.fail;
 
diff --git a/surefire-its/src/test/resources/junit47-cucumber/src/test/java/org/sample/cucumber/SuccessCucumberTest.java b/surefire-its/src/test/resources/junit47-cucumber/src/test/java/org/sample/cucumber/SuccessCucumberTest.java
index 318f5e60d..7ba238b6d 100644
--- a/surefire-its/src/test/resources/junit47-cucumber/src/test/java/org/sample/cucumber/SuccessCucumberTest.java
+++ b/surefire-its/src/test/resources/junit47-cucumber/src/test/java/org/sample/cucumber/SuccessCucumberTest.java
@@ -21,10 +21,11 @@ package org.sample.cucumber;
 
 import org.junit.runner.RunWith;
 
-import cucumber.api.junit.Cucumber;
+import io.cucumber.junit.CucumberOptions;
+import io.cucumber.junit.Cucumber;
 
 @RunWith( Cucumber.class )
-@Cucumber.Options( features = { "classpath:success" } )
+@CucumberOptions( features = { "classpath:success" } )
 public class SuccessCucumberTest
 {
 
diff --git a/surefire-its/src/test/resources/junit47-parallel-with-suite/pom.xml b/surefire-its/src/test/resources/junit47-parallel-with-suite/pom.xml
index c8aa69591..5dcbaba95 100644
--- a/surefire-its/src/test/resources/junit47-parallel-with-suite/pom.xml
+++ b/surefire-its/src/test/resources/junit47-parallel-with-suite/pom.xml
@@ -16,8 +16,8 @@
   </dependencies>
   <properties>
     <parallel>methods</parallel>
-      <maven.compiler.source>1.6</maven.compiler.source>
-      <maven.compiler.target>1.6</maven.compiler.target>
+      <maven.compiler.source>1.7</maven.compiler.source>
+      <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
   <build>
      <plugins>
diff --git a/surefire-its/src/test/resources/junit47-redirect-output/pom.xml b/surefire-its/src/test/resources/junit47-redirect-output/pom.xml
index a4b906695..38ec727e1 100644
--- a/surefire-its/src/test/resources/junit47-redirect-output/pom.xml
+++ b/surefire-its/src/test/resources/junit47-redirect-output/pom.xml
@@ -51,8 +51,8 @@
       <forkMode>once</forkMode>
       <printSummary>true</printSummary>
       <parallel>none</parallel>
-      <maven.compiler.source>1.6</maven.compiler.source>
-      <maven.compiler.target>1.6</maven.compiler.target>
+      <maven.compiler.source>1.7</maven.compiler.source>
+      <maven.compiler.target>1.7</maven.compiler.target>
     </properties>
 
 </project>
diff --git a/surefire-its/src/test/resources/junit47-rerun-failing-tests-with-cucumber/pom.xml b/surefire-its/src/test/resources/junit47-rerun-failing-tests-with-cucumber/pom.xml
index 24ee29486..315b9db2d 100644
--- a/surefire-its/src/test/resources/junit47-rerun-failing-tests-with-cucumber/pom.xml
+++ b/surefire-its/src/test/resources/junit47-rerun-failing-tests-with-cucumber/pom.xml
@@ -33,7 +33,9 @@
     <name>Test for rerun failing cucumber tests in JUnit 47</name>
 
     <properties>
-        <cucumber.version>2.0.0</cucumber.version>
+        <maven.compiler.source>1.7</maven.compiler.source>
+        <maven.compiler.target>1.7</maven.compiler.target>
+        <cucumber.version>6.10.0</cucumber.version>
     </properties>
 
     <build>
@@ -42,6 +44,9 @@
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-surefire-plugin</artifactId>
                 <version>${surefire.version}</version>
+                <configuration>
+                    <forkMode>once</forkMode>
+                </configuration>
                 <dependencies>
                     <dependency>
                         <groupId>org.apache.maven.surefire</groupId>
@@ -54,12 +59,6 @@
     </build>
 
     <dependencies>
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <version>${junit.version}</version>
-            <scope>test</scope>
-        </dependency>
         <dependency>
             <groupId>io.cucumber</groupId>
             <artifactId>cucumber-java</artifactId>
diff --git a/surefire-its/src/test/resources/junit47-rerun-failing-tests-with-cucumber/src/test/java/org/sample/cucumber/FlakeCucumberTest.java b/surefire-its/src/test/resources/junit47-rerun-failing-tests-with-cucumber/src/test/java/org/sample/cucumber/FlakeCucumberTest.java
index ecda87b9d..841ea5299 100644
--- a/surefire-its/src/test/resources/junit47-rerun-failing-tests-with-cucumber/src/test/java/org/sample/cucumber/FlakeCucumberTest.java
+++ b/surefire-its/src/test/resources/junit47-rerun-failing-tests-with-cucumber/src/test/java/org/sample/cucumber/FlakeCucumberTest.java
@@ -19,9 +19,10 @@
 
 package org.sample.cucumber;
 
-import cucumber.api.junit.Cucumber;
 import org.junit.runner.RunWith;
 
+import io.cucumber.junit.Cucumber;
+
 @RunWith( Cucumber.class )
 public class FlakeCucumberTest
 {
diff --git a/surefire-its/src/test/resources/junit47-rerun-failing-tests-with-cucumber/src/test/java/org/sample/cucumber/StepDefs.java b/surefire-its/src/test/resources/junit47-rerun-failing-tests-with-cucumber/src/test/java/org/sample/cucumber/StepDefs.java
index d253222ff..7e4e2da4e 100644
--- a/surefire-its/src/test/resources/junit47-rerun-failing-tests-with-cucumber/src/test/java/org/sample/cucumber/StepDefs.java
+++ b/surefire-its/src/test/resources/junit47-rerun-failing-tests-with-cucumber/src/test/java/org/sample/cucumber/StepDefs.java
@@ -19,9 +19,9 @@
 
 package org.sample.cucumber;
 
-import cucumber.api.java.en.Given;
-import cucumber.api.java.en.Then;
-import cucumber.api.java.en.When;
+import io.cucumber.java.en.Given;
+import io.cucumber.java.en.Then;
+import io.cucumber.java.en.When;
 
 import static org.junit.Assert.fail;
 
diff --git a/surefire-its/src/test/resources/junit47-static-inner-class-tests/pom.xml b/surefire-its/src/test/resources/junit47-static-inner-class-tests/pom.xml
index b0c40ec8b..81f26c2c2 100644
--- a/surefire-its/src/test/resources/junit47-static-inner-class-tests/pom.xml
+++ b/surefire-its/src/test/resources/junit47-static-inner-class-tests/pom.xml
@@ -8,8 +8,8 @@
   <name>junit47-static-inner-class-tests</name>
   <url>http://maven.apache.org</url>
   <properties>
-      <maven.compiler.source>1.6</maven.compiler.source>
-      <maven.compiler.target>1.6</maven.compiler.target>
+      <maven.compiler.source>1.7</maven.compiler.source>
+      <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
   <dependencies>
     <dependency>
diff --git a/surefire-its/src/test/resources/junit48-categories/pom.xml b/surefire-its/src/test/resources/junit48-categories/pom.xml
index 4fcf11936..a83b687f8 100644
--- a/surefire-its/src/test/resources/junit48-categories/pom.xml
+++ b/surefire-its/src/test/resources/junit48-categories/pom.xml
@@ -33,8 +33,8 @@
     <junit.version>4.8.1</junit.version>
     <groups>junit4.CategoryA,junit4.CategoryB</groups>
     <excludedGroups></excludedGroups>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/junit48-smartStackTrace/pom.xml b/surefire-its/src/test/resources/junit48-smartStackTrace/pom.xml
index 84a3a182c..fe104a4bb 100644
--- a/surefire-its/src/test/resources/junit48-smartStackTrace/pom.xml
+++ b/surefire-its/src/test/resources/junit48-smartStackTrace/pom.xml
@@ -31,8 +31,8 @@
 
   <properties>
     <junitVersion>4.8.1</junitVersion>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/norunnableTests/pom.xml b/surefire-its/src/test/resources/norunnableTests/pom.xml
index f9e154f61..dd1a3cce3 100644
--- a/surefire-its/src/test/resources/norunnableTests/pom.xml
+++ b/surefire-its/src/test/resources/norunnableTests/pom.xml
@@ -29,8 +29,8 @@
   <name>Test JUnit classes with inner classes</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/parallel-runtime/pom.xml b/surefire-its/src/test/resources/parallel-runtime/pom.xml
index 34ba2fedc..f39f94974 100644
--- a/surefire-its/src/test/resources/parallel-runtime/pom.xml
+++ b/surefire-its/src/test/resources/parallel-runtime/pom.xml
@@ -18,8 +18,8 @@
     <properties>
       <parallel>classes</parallel>
       <threadCount>3</threadCount>
-      <maven.compiler.source>1.6</maven.compiler.source>
-      <maven.compiler.target>1.6</maven.compiler.target>
+      <maven.compiler.source>1.7</maven.compiler.source>
+      <maven.compiler.target>1.7</maven.compiler.target>
     </properties>
 
   <build>
diff --git a/surefire-its/src/test/resources/plain-old-java-classpath/pom.xml b/surefire-its/src/test/resources/plain-old-java-classpath/pom.xml
index 042bdd1db..72bd38c94 100644
--- a/surefire-its/src/test/resources/plain-old-java-classpath/pom.xml
+++ b/surefire-its/src/test/resources/plain-old-java-classpath/pom.xml
@@ -29,8 +29,8 @@
   <name>Test for useManifestOnlyJar=false</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <build>
diff --git a/surefire-its/src/test/resources/plexus-conflict/pom.xml b/surefire-its/src/test/resources/plexus-conflict/pom.xml
index 5cb6d8108..338904af5 100644
--- a/surefire-its/src/test/resources/plexus-conflict/pom.xml
+++ b/surefire-its/src/test/resources/plexus-conflict/pom.xml
@@ -29,8 +29,8 @@
   <name>Test for plexus conflict</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/pojo-simple/pom.xml b/surefire-its/src/test/resources/pojo-simple/pom.xml
index d418dc49e..45986acc5 100644
--- a/surefire-its/src/test/resources/pojo-simple/pom.xml
+++ b/surefire-its/src/test/resources/pojo-simple/pom.xml
@@ -29,8 +29,8 @@
   <name>Pojo simple test</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <!-- NOTE: This has no dependencies on JUnit or TestNG, just nothing -->
diff --git a/surefire-its/src/test/resources/pom.xml b/surefire-its/src/test/resources/pom.xml
index 929385ce5..e01ed4c0c 100644
--- a/surefire-its/src/test/resources/pom.xml
+++ b/surefire-its/src/test/resources/pom.xml
@@ -9,8 +9,8 @@
   <name>It parent</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <build>
diff --git a/surefire-its/src/test/resources/reporters/pom.xml b/surefire-its/src/test/resources/reporters/pom.xml
index 82d0b5414..21525256c 100644
--- a/surefire-its/src/test/resources/reporters/pom.xml
+++ b/surefire-its/src/test/resources/reporters/pom.xml
@@ -43,7 +43,7 @@
       <redirect.to.file>true</redirect.to.file>
       <forkMode>once</forkMode>
       <printSummary>true</printSummary>
-        <maven.compiler.source>1.6</maven.compiler.source>
-        <maven.compiler.target>1.6</maven.compiler.target>
+        <maven.compiler.source>1.7</maven.compiler.source>
+        <maven.compiler.target>1.7</maven.compiler.target>
     </properties>
 </project>
diff --git a/surefire-its/src/test/resources/result-counting/pom.xml b/surefire-its/src/test/resources/result-counting/pom.xml
index 5147bf16d..fcb7372f8 100644
--- a/surefire-its/src/test/resources/result-counting/pom.xml
+++ b/surefire-its/src/test/resources/result-counting/pom.xml
@@ -35,7 +35,7 @@
   <properties>
     <junit.version>4.8.1</junit.version>
     <forkMode>once</forkMode>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 </project>
diff --git a/surefire-its/src/test/resources/runOrder/pom.xml b/surefire-its/src/test/resources/runOrder/pom.xml
index 0544e70a3..84abb5392 100644
--- a/surefire-its/src/test/resources/runOrder/pom.xml
+++ b/surefire-its/src/test/resources/runOrder/pom.xml
@@ -29,8 +29,8 @@
   <name>Test for runOrder</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/runorder-parallel/pom.xml b/surefire-its/src/test/resources/runorder-parallel/pom.xml
index d2f38b693..1dee7d8f9 100644
--- a/surefire-its/src/test/resources/runorder-parallel/pom.xml
+++ b/surefire-its/src/test/resources/runorder-parallel/pom.xml
@@ -16,8 +16,8 @@
   </dependencies>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <build>
diff --git a/surefire-its/src/test/resources/settings.xml b/surefire-its/src/test/resources/settings.xml
deleted file mode 100644
index 69a1c2ac7..000000000
--- a/surefire-its/src/test/resources/settings.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  ~ 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.
-  -->
-<settings xmlns="http://maven.apache.org/SETTINGS/1.1.0"
-          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.1.0 http://maven.apache.org/xsd/settings-1.1.0.xsd">
-    <localRepository>${maven.repo.local}</localRepository>
-    <interactiveMode>false</interactiveMode>
-    <pluginGroups>
-        <pluginGroup>org.apache.maven.plugins</pluginGroup>
-        <pluginGroup>org.codehaus.mojo</pluginGroup>
-    </pluginGroups>
-</settings>
diff --git a/surefire-its/src/test/resources/sibling-aggregator/aggregator/pom.xml b/surefire-its/src/test/resources/sibling-aggregator/aggregator/pom.xml
index 36dff8091..b12b1182e 100644
--- a/surefire-its/src/test/resources/sibling-aggregator/aggregator/pom.xml
+++ b/surefire-its/src/test/resources/sibling-aggregator/aggregator/pom.xml
@@ -30,8 +30,8 @@
   <packaging>pom</packaging>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <modules>
diff --git a/surefire-its/src/test/resources/sibling-aggregator/child1/pom.xml b/surefire-its/src/test/resources/sibling-aggregator/child1/pom.xml
index 9ed3e9b6b..be2f9df32 100644
--- a/surefire-its/src/test/resources/sibling-aggregator/child1/pom.xml
+++ b/surefire-its/src/test/resources/sibling-aggregator/child1/pom.xml
@@ -29,8 +29,8 @@
   <name>Test for aggregated child1</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/sibling-aggregator/child2/pom.xml b/surefire-its/src/test/resources/sibling-aggregator/child2/pom.xml
index 1312a3dff..b8c21bfb0 100644
--- a/surefire-its/src/test/resources/sibling-aggregator/child2/pom.xml
+++ b/surefire-its/src/test/resources/sibling-aggregator/child2/pom.xml
@@ -29,8 +29,8 @@
   <name>Test for aggregated child2</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/small-result-counting/pom.xml b/surefire-its/src/test/resources/small-result-counting/pom.xml
index fb6c175b1..e06061ccc 100644
--- a/surefire-its/src/test/resources/small-result-counting/pom.xml
+++ b/surefire-its/src/test/resources/small-result-counting/pom.xml
@@ -32,7 +32,7 @@
   <properties>
     <junit.version>4.8.1</junit.version>
     <forkMode>once</forkMode>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 </project>
diff --git a/surefire-its/src/test/resources/surefire-1024/jiras-surefire-1024-testjar/pom.xml b/surefire-its/src/test/resources/surefire-1024/jiras-surefire-1024-testjar/pom.xml
index 61b066881..5bf2badf2 100644
--- a/surefire-its/src/test/resources/surefire-1024/jiras-surefire-1024-testjar/pom.xml
+++ b/surefire-its/src/test/resources/surefire-1024/jiras-surefire-1024-testjar/pom.xml
@@ -32,8 +32,8 @@
   <version>1.0</version>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-1080-parallel-fork-double-test/pom.xml b/surefire-its/src/test/resources/surefire-1080-parallel-fork-double-test/pom.xml
index 96adf0c7c..2f24bc4f5 100644
--- a/surefire-its/src/test/resources/surefire-1080-parallel-fork-double-test/pom.xml
+++ b/surefire-its/src/test/resources/surefire-1080-parallel-fork-double-test/pom.xml
@@ -45,8 +45,8 @@
   </contributors>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-1082-parallel-junit-parameterized/pom.xml b/surefire-its/src/test/resources/surefire-1082-parallel-junit-parameterized/pom.xml
index 226023d23..4229cc916 100644
--- a/surefire-its/src/test/resources/surefire-1082-parallel-junit-parameterized/pom.xml
+++ b/surefire-its/src/test/resources/surefire-1082-parallel-junit-parameterized/pom.xml
@@ -40,8 +40,8 @@
   </developers>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-1122-parallel-and-flakyTests/pom.xml b/surefire-its/src/test/resources/surefire-1122-parallel-and-flakyTests/pom.xml
index b5570fdb6..6bc1c31de 100644
--- a/surefire-its/src/test/resources/surefire-1122-parallel-and-flakyTests/pom.xml
+++ b/surefire-its/src/test/resources/surefire-1122-parallel-and-flakyTests/pom.xml
@@ -26,8 +26,8 @@
   <version>1.0</version>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-1135-improve-ignore-message-for-testng/pom.xml b/surefire-its/src/test/resources/surefire-1135-improve-ignore-message-for-testng/pom.xml
index e58abdc23..daecfc013 100644
--- a/surefire-its/src/test/resources/surefire-1135-improve-ignore-message-for-testng/pom.xml
+++ b/surefire-its/src/test/resources/surefire-1135-improve-ignore-message-for-testng/pom.xml
@@ -30,8 +30,8 @@
   <name>Surefire 1135</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
   
   <profiles>
diff --git a/surefire-its/src/test/resources/surefire-1202-rerun-and-failfast/pom.xml b/surefire-its/src/test/resources/surefire-1202-rerun-and-failfast/pom.xml
index bdccd8b4b..4fb9d72e2 100644
--- a/surefire-its/src/test/resources/surefire-1202-rerun-and-failfast/pom.xml
+++ b/surefire-its/src/test/resources/surefire-1202-rerun-and-failfast/pom.xml
@@ -41,8 +41,8 @@
     </developers>
 
     <properties>
-        <maven.compiler.source>1.6</maven.compiler.source>
-        <maven.compiler.target>1.6</maven.compiler.target>
+        <maven.compiler.source>1.7</maven.compiler.source>
+        <maven.compiler.target>1.7</maven.compiler.target>
     </properties>
 
     <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-1209-rerun-and-forkcount/pom.xml b/surefire-its/src/test/resources/surefire-1209-rerun-and-forkcount/pom.xml
index 8a0fdf974..9bb5c2714 100644
--- a/surefire-its/src/test/resources/surefire-1209-rerun-and-forkcount/pom.xml
+++ b/surefire-its/src/test/resources/surefire-1209-rerun-and-forkcount/pom.xml
@@ -41,8 +41,8 @@
     </developers>
 
     <properties>
-        <maven.compiler.source>1.6</maven.compiler.source>
-        <maven.compiler.target>1.6</maven.compiler.target>
+        <maven.compiler.source>1.7</maven.compiler.source>
+        <maven.compiler.target>1.7</maven.compiler.target>
     </properties>
 
     <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-1278-group-name-ending/pom.xml b/surefire-its/src/test/resources/surefire-1278-group-name-ending/pom.xml
index 399d6017a..d262525b2 100644
--- a/surefire-its/src/test/resources/surefire-1278-group-name-ending/pom.xml
+++ b/surefire-its/src/test/resources/surefire-1278-group-name-ending/pom.xml
@@ -29,8 +29,8 @@
   <name>Test for testng groups</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-1396-pluggableproviders-classpath-provider/pom.xml b/surefire-its/src/test/resources/surefire-1396-pluggableproviders-classpath-provider/pom.xml
index c8bd26f17..30e51994a 100644
--- a/surefire-its/src/test/resources/surefire-1396-pluggableproviders-classpath-provider/pom.xml
+++ b/surefire-its/src/test/resources/surefire-1396-pluggableproviders-classpath-provider/pom.xml
@@ -27,8 +27,8 @@
   <name>Test provider</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
   
   <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-1396-pluggableproviders-classpath/pom.xml b/surefire-its/src/test/resources/surefire-1396-pluggableproviders-classpath/pom.xml
index 642737c45..be5cf976d 100644
--- a/surefire-its/src/test/resources/surefire-1396-pluggableproviders-classpath/pom.xml
+++ b/surefire-its/src/test/resources/surefire-1396-pluggableproviders-classpath/pom.xml
@@ -29,8 +29,8 @@
   <name>pluggableproviders-classpath-test</name>
 
     <properties>
-        <maven.compiler.source>1.6</maven.compiler.source>
-        <maven.compiler.target>1.6</maven.compiler.target>
+        <maven.compiler.source>1.7</maven.compiler.source>
+        <maven.compiler.target>1.7</maven.compiler.target>
     </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-141-pluggableproviders-provider/pom.xml b/surefire-its/src/test/resources/surefire-141-pluggableproviders-provider/pom.xml
index 76b763647..10a40c4ca 100644
--- a/surefire-its/src/test/resources/surefire-141-pluggableproviders-provider/pom.xml
+++ b/surefire-its/src/test/resources/surefire-141-pluggableproviders-provider/pom.xml
@@ -27,8 +27,8 @@
   <name>Test provider</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-141-pluggableproviders/pom.xml b/surefire-its/src/test/resources/surefire-141-pluggableproviders/pom.xml
index 5e1e0543d..1a92a0cfa 100644
--- a/surefire-its/src/test/resources/surefire-141-pluggableproviders/pom.xml
+++ b/surefire-its/src/test/resources/surefire-141-pluggableproviders/pom.xml
@@ -39,8 +39,8 @@
 
   <properties>
     <surefire.version>2.12.4</surefire.version>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <build>
diff --git a/surefire-its/src/test/resources/surefire-146-forkPerTestNoSetup/pom.xml b/surefire-its/src/test/resources/surefire-146-forkPerTestNoSetup/pom.xml
index 424a0169a..671a65458 100644
--- a/surefire-its/src/test/resources/surefire-146-forkPerTestNoSetup/pom.xml
+++ b/surefire-its/src/test/resources/surefire-146-forkPerTestNoSetup/pom.xml
@@ -29,8 +29,8 @@
   <name>Test for SUREFIRE-146 (forkMode=pertest fails to call setUp)</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-1535-parallel-testng/pom.xml b/surefire-its/src/test/resources/surefire-1535-parallel-testng/pom.xml
index c7aba8852..4fcc715fa 100644
--- a/surefire-its/src/test/resources/surefire-1535-parallel-testng/pom.xml
+++ b/surefire-its/src/test/resources/surefire-1535-parallel-testng/pom.xml
@@ -29,8 +29,8 @@
     <name>Test execution testng suites in parallel</name>
 
     <properties>
-        <maven.compiler.source>1.6</maven.compiler.source>
-        <maven.compiler.target>1.6</maven.compiler.target>
+        <maven.compiler.source>1.7</maven.compiler.source>
+        <maven.compiler.target>1.7</maven.compiler.target>
     </properties>
 
     <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-162-charsetProvider/pom.xml b/surefire-its/src/test/resources/surefire-162-charsetProvider/pom.xml
index 948b32365..3eb617595 100644
--- a/surefire-its/src/test/resources/surefire-162-charsetProvider/pom.xml
+++ b/surefire-its/src/test/resources/surefire-162-charsetProvider/pom.xml
@@ -6,8 +6,8 @@
   <name>Test alternate CharsetProvider</name>
   <version>1.0-SNAPSHOT</version>
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
   <build>
     <plugins>
diff --git a/surefire-its/src/test/resources/surefire-224-wellFormedXmlFailures/pom.xml b/surefire-its/src/test/resources/surefire-224-wellFormedXmlFailures/pom.xml
index 944ccafba..74217ef4a 100644
--- a/surefire-its/src/test/resources/surefire-224-wellFormedXmlFailures/pom.xml
+++ b/surefire-its/src/test/resources/surefire-224-wellFormedXmlFailures/pom.xml
@@ -29,8 +29,8 @@
   <name>Test for MSUREFIRE-54 (well-formed XML failures)</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-257-rerunningTests/pom.xml b/surefire-its/src/test/resources/surefire-257-rerunningTests/pom.xml
index 4b30546f5..c3e67382c 100644
--- a/surefire-its/src/test/resources/surefire-257-rerunningTests/pom.xml
+++ b/surefire-its/src/test/resources/surefire-257-rerunningTests/pom.xml
@@ -8,8 +8,8 @@
   <packaging>pom</packaging>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <build>
diff --git a/surefire-its/src/test/resources/surefire-260-testWithIdenticalNames/pom.xml b/surefire-its/src/test/resources/surefire-260-testWithIdenticalNames/pom.xml
index bdb9d6f80..4bb71da60 100644
--- a/surefire-its/src/test/resources/surefire-260-testWithIdenticalNames/pom.xml
+++ b/surefire-its/src/test/resources/surefire-260-testWithIdenticalNames/pom.xml
@@ -29,8 +29,8 @@
     <name>surefire-260-testsWithIdenticalNames</name>
 
     <properties>
-        <maven.compiler.source>1.6</maven.compiler.source>
-        <maven.compiler.target>1.6</maven.compiler.target>
+        <maven.compiler.source>1.7</maven.compiler.source>
+        <maven.compiler.target>1.7</maven.compiler.target>
     </properties>
 
     <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-34-securityManager-success/pom.xml b/surefire-its/src/test/resources/surefire-34-securityManager-success/pom.xml
index af205c693..541f499d2 100644
--- a/surefire-its/src/test/resources/surefire-34-securityManager-success/pom.xml
+++ b/surefire-its/src/test/resources/surefire-34-securityManager-success/pom.xml
@@ -30,8 +30,8 @@
 
   <properties>
     <junitVersion>3.8.1</junitVersion>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-34-securityManager/pom.xml b/surefire-its/src/test/resources/surefire-34-securityManager/pom.xml
index af205c693..541f499d2 100644
--- a/surefire-its/src/test/resources/surefire-34-securityManager/pom.xml
+++ b/surefire-its/src/test/resources/surefire-34-securityManager/pom.xml
@@ -30,8 +30,8 @@
 
   <properties>
     <junitVersion>3.8.1</junitVersion>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-408-manual-provider-selection/pom.xml b/surefire-its/src/test/resources/surefire-408-manual-provider-selection/pom.xml
index 8579532f1..ac9477964 100644
--- a/surefire-its/src/test/resources/surefire-408-manual-provider-selection/pom.xml
+++ b/surefire-its/src/test/resources/surefire-408-manual-provider-selection/pom.xml
@@ -29,8 +29,8 @@
     <name>Test for two test cases</name>
 
     <properties>
-        <maven.compiler.source>1.6</maven.compiler.source>
-        <maven.compiler.target>1.6</maven.compiler.target>
+        <maven.compiler.source>1.7</maven.compiler.source>
+        <maven.compiler.target>1.7</maven.compiler.target>
     </properties>
 
     <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-500-puzzling-error/pom.xml b/surefire-its/src/test/resources/surefire-500-puzzling-error/pom.xml
index 33bd9a512..ce01272f4 100644
--- a/surefire-its/src/test/resources/surefire-500-puzzling-error/pom.xml
+++ b/surefire-its/src/test/resources/surefire-500-puzzling-error/pom.xml
@@ -9,8 +9,8 @@
   <url>http://maven.apache.org</url>
   <properties>
     <junit.version>4.4</junit.version>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
   <dependencies>
     <dependency>
diff --git a/surefire-its/src/test/resources/surefire-510-testClassPath/pom.xml b/surefire-its/src/test/resources/surefire-510-testClassPath/pom.xml
index 24916fab4..5cb7b9241 100644
--- a/surefire-its/src/test/resources/surefire-510-testClassPath/pom.xml
+++ b/surefire-its/src/test/resources/surefire-510-testClassPath/pom.xml
@@ -29,8 +29,8 @@
   <name>Surefire-510-systemprops</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <build>
diff --git a/surefire-its/src/test/resources/surefire-570-multipleReportDirectories/pom.xml b/surefire-its/src/test/resources/surefire-570-multipleReportDirectories/pom.xml
index 9efe89697..b3238ea69 100644
--- a/surefire-its/src/test/resources/surefire-570-multipleReportDirectories/pom.xml
+++ b/surefire-its/src/test/resources/surefire-570-multipleReportDirectories/pom.xml
@@ -8,8 +8,8 @@
   <packaging>pom</packaging>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <build>
diff --git a/surefire-its/src/test/resources/surefire-613-testCount-in-parallel/pom.xml b/surefire-its/src/test/resources/surefire-613-testCount-in-parallel/pom.xml
index daba45ea6..8175d3f82 100644
--- a/surefire-its/src/test/resources/surefire-613-testCount-in-parallel/pom.xml
+++ b/surefire-its/src/test/resources/surefire-613-testCount-in-parallel/pom.xml
@@ -8,8 +8,8 @@
   <name>junit4-test</name>
   <url>http://maven.apache.org</url>
   <properties>
-      <maven.compiler.source>1.6</maven.compiler.source>
-      <maven.compiler.target>1.6</maven.compiler.target>
+      <maven.compiler.source>1.7</maven.compiler.source>
+      <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
   <dependencies>
     <dependency>
diff --git a/surefire-its/src/test/resources/surefire-621-testCounting-junit3-in-parallel/pom.xml b/surefire-its/src/test/resources/surefire-621-testCounting-junit3-in-parallel/pom.xml
index a012b7f3c..412035d84 100644
--- a/surefire-its/src/test/resources/surefire-621-testCounting-junit3-in-parallel/pom.xml
+++ b/surefire-its/src/test/resources/surefire-621-testCounting-junit3-in-parallel/pom.xml
@@ -9,8 +9,8 @@
     <url>http://maven.apache.org</url>
     <properties>
         <junit.version>4.8.1</junit.version>
-        <maven.compiler.source>1.6</maven.compiler.source>
-        <maven.compiler.target>1.6</maven.compiler.target>
+        <maven.compiler.source>1.7</maven.compiler.source>
+        <maven.compiler.target>1.7</maven.compiler.target>
     </properties>
     <dependencies>
         <dependency>
diff --git a/surefire-its/src/test/resources/surefire-628-consoleoutputbeforeandafterclass/pom.xml b/surefire-its/src/test/resources/surefire-628-consoleoutputbeforeandafterclass/pom.xml
index cd89dd1f2..9c975a845 100644
--- a/surefire-its/src/test/resources/surefire-628-consoleoutputbeforeandafterclass/pom.xml
+++ b/surefire-its/src/test/resources/surefire-628-consoleoutputbeforeandafterclass/pom.xml
@@ -10,8 +10,8 @@
   <properties>
     <junit.version>4.8.1</junit.version>
     <parallel>methods</parallel>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
   <dependencies>
       <dependency>
diff --git a/surefire-its/src/test/resources/surefire-634-systemPropertiesWarning/pom.xml b/surefire-its/src/test/resources/surefire-634-systemPropertiesWarning/pom.xml
index 06a6162f4..211a99d64 100644
--- a/surefire-its/src/test/resources/surefire-634-systemPropertiesWarning/pom.xml
+++ b/surefire-its/src/test/resources/surefire-634-systemPropertiesWarning/pom.xml
@@ -30,8 +30,8 @@
 
   <properties>
     <junitVersion>4.4</junitVersion>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-673-mockito/pom.xml b/surefire-its/src/test/resources/surefire-673-mockito/pom.xml
index f73c53340..554705b4b 100644
--- a/surefire-its/src/test/resources/surefire-673-mockito/pom.xml
+++ b/surefire-its/src/test/resources/surefire-673-mockito/pom.xml
@@ -7,8 +7,8 @@
   <version>1.0.0-SNAPSHOT</version>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <build>
@@ -34,4 +34,20 @@
       <scope>test</scope>
     </dependency>
   </dependencies>
+  <profiles>
+    <profile>
+      <id>jdk8</id>
+      <activation>
+        <jdk>[1.8,)</jdk>
+      </activation>
+      <dependencies>
+        <dependency>
+          <groupId>org.mockito</groupId>
+          <artifactId>mockito-core</artifactId>
+          <version>3.8.0</version>
+          <scope>test</scope>
+        </dependency>
+      </dependencies>
+    </profile>
+  </profiles>
 </project>
diff --git a/surefire-its/src/test/resources/surefire-674-buildFailingWhenErrors/pom.xml b/surefire-its/src/test/resources/surefire-674-buildFailingWhenErrors/pom.xml
index 4631a8c50..398a22536 100644
--- a/surefire-its/src/test/resources/surefire-674-buildFailingWhenErrors/pom.xml
+++ b/surefire-its/src/test/resources/surefire-674-buildFailingWhenErrors/pom.xml
@@ -35,7 +35,7 @@
   <properties>
     <junit.version>4.8.1</junit.version>
     <forkMode>once</forkMode>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 </project>
diff --git a/surefire-its/src/test/resources/surefire-685-commaseparatedIncludes/pom.xml b/surefire-its/src/test/resources/surefire-685-commaseparatedIncludes/pom.xml
index 567901e0a..eb40366f5 100644
--- a/surefire-its/src/test/resources/surefire-685-commaseparatedIncludes/pom.xml
+++ b/surefire-its/src/test/resources/surefire-685-commaseparatedIncludes/pom.xml
@@ -29,8 +29,8 @@
     <name>surefire-685-commaseparatedIncludes</name>
 
     <properties>
-        <maven.compiler.source>1.6</maven.compiler.source>
-        <maven.compiler.target>1.6</maven.compiler.target>
+        <maven.compiler.source>1.7</maven.compiler.source>
+        <maven.compiler.target>1.7</maven.compiler.target>
     </properties>
 
     <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-697-niceSummary/pom.xml b/surefire-its/src/test/resources/surefire-697-niceSummary/pom.xml
index d86467be2..52663e5b5 100644
--- a/surefire-its/src/test/resources/surefire-697-niceSummary/pom.xml
+++ b/surefire-its/src/test/resources/surefire-697-niceSummary/pom.xml
@@ -29,8 +29,8 @@
   <name>Tests summary with long/multiline exception messages</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-733-allOverridesCaptured/pom.xml b/surefire-its/src/test/resources/surefire-733-allOverridesCaptured/pom.xml
index 4ed347224..acb0d5ef8 100644
--- a/surefire-its/src/test/resources/surefire-733-allOverridesCaptured/pom.xml
+++ b/surefire-its/src/test/resources/surefire-733-allOverridesCaptured/pom.xml
@@ -50,7 +50,7 @@
 
   <properties>
     <junit.version>4.8.1</junit.version>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 </project>
diff --git a/surefire-its/src/test/resources/surefire-803-multiFailsafeExec-failureInFirst/pom.xml b/surefire-its/src/test/resources/surefire-803-multiFailsafeExec-failureInFirst/pom.xml
index cdf4de244..9c039d48c 100644
--- a/surefire-its/src/test/resources/surefire-803-multiFailsafeExec-failureInFirst/pom.xml
+++ b/surefire-its/src/test/resources/surefire-803-multiFailsafeExec-failureInFirst/pom.xml
@@ -11,8 +11,8 @@
 
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-803-multiFailsafeExec-rebuildOverwrites/pom.xml b/surefire-its/src/test/resources/surefire-803-multiFailsafeExec-rebuildOverwrites/pom.xml
index 78aa7657c..ae8ad785e 100644
--- a/surefire-its/src/test/resources/surefire-803-multiFailsafeExec-rebuildOverwrites/pom.xml
+++ b/surefire-its/src/test/resources/surefire-803-multiFailsafeExec-rebuildOverwrites/pom.xml
@@ -11,8 +11,8 @@
 
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-806-specifiedTests-multi/pom.xml b/surefire-its/src/test/resources/surefire-806-specifiedTests-multi/pom.xml
index dd4090d38..296ded695 100644
--- a/surefire-its/src/test/resources/surefire-806-specifiedTests-multi/pom.xml
+++ b/surefire-its/src/test/resources/surefire-806-specifiedTests-multi/pom.xml
@@ -29,8 +29,8 @@
   <name>Test for single test in one of multiple executions</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-806-specifiedTests-single/pom.xml b/surefire-its/src/test/resources/surefire-806-specifiedTests-single/pom.xml
index 617446b2d..74e261a38 100644
--- a/surefire-its/src/test/resources/surefire-806-specifiedTests-single/pom.xml
+++ b/surefire-its/src/test/resources/surefire-806-specifiedTests-single/pom.xml
@@ -29,8 +29,8 @@
   <name>Test for single test in one of multiple executions</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-809-groupExpr-junit48/pom.xml b/surefire-its/src/test/resources/surefire-809-groupExpr-junit48/pom.xml
index ff49c399c..30f1708c0 100644
--- a/surefire-its/src/test/resources/surefire-809-groupExpr-junit48/pom.xml
+++ b/surefire-its/src/test/resources/surefire-809-groupExpr-junit48/pom.xml
@@ -31,8 +31,8 @@
 
   <properties>
     <junit.version>4.8.1</junit.version>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-809-groupExpr-testng/pom.xml b/surefire-its/src/test/resources/surefire-809-groupExpr-testng/pom.xml
index 5c39211aa..983e5bbdc 100644
--- a/surefire-its/src/test/resources/surefire-809-groupExpr-testng/pom.xml
+++ b/surefire-its/src/test/resources/surefire-809-groupExpr-testng/pom.xml
@@ -30,8 +30,8 @@
   
     <properties>
       <groups>!CategoryC</groups>
-        <maven.compiler.source>1.6</maven.compiler.source>
-        <maven.compiler.target>1.6</maven.compiler.target>
+        <maven.compiler.source>1.7</maven.compiler.source>
+        <maven.compiler.target>1.7</maven.compiler.target>
     </properties>
     <build>
         <plugins>
diff --git a/surefire-its/src/test/resources/surefire-812-log4j-classloader/pom.xml b/surefire-its/src/test/resources/surefire-812-log4j-classloader/pom.xml
index c24eb5029..61be350dd 100644
--- a/surefire-its/src/test/resources/surefire-812-log4j-classloader/pom.xml
+++ b/surefire-its/src/test/resources/surefire-812-log4j-classloader/pom.xml
@@ -7,8 +7,8 @@
   <version>1.0.0-SNAPSHOT</version>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <build>
diff --git a/surefire-its/src/test/resources/surefire-818-ignored-tests-on-npe/pom.xml b/surefire-its/src/test/resources/surefire-818-ignored-tests-on-npe/pom.xml
index 683327b7c..cef444e3f 100644
--- a/surefire-its/src/test/resources/surefire-818-ignored-tests-on-npe/pom.xml
+++ b/surefire-its/src/test/resources/surefire-818-ignored-tests-on-npe/pom.xml
@@ -7,8 +7,8 @@
     <name>cyril</name>
 
     <properties>
-        <maven.compiler.source>1.6</maven.compiler.source>
-        <maven.compiler.target>1.6</maven.compiler.target>
+        <maven.compiler.source>1.7</maven.compiler.source>
+        <maven.compiler.target>1.7</maven.compiler.target>
     </properties>
 
     <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-828-emptyGroupExpr-junit48/pom.xml b/surefire-its/src/test/resources/surefire-828-emptyGroupExpr-junit48/pom.xml
index 5f64d104f..2d005b643 100644
--- a/surefire-its/src/test/resources/surefire-828-emptyGroupExpr-junit48/pom.xml
+++ b/surefire-its/src/test/resources/surefire-828-emptyGroupExpr-junit48/pom.xml
@@ -32,8 +32,8 @@
   <properties>
     <junitVersion>4.8.1</junitVersion>
       <groups>junit4.CategoryA,junit4.CategoryB</groups>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-828-emptyGroupExpr-testng/pom.xml b/surefire-its/src/test/resources/surefire-828-emptyGroupExpr-testng/pom.xml
index 67ea1603a..989f8af26 100644
--- a/surefire-its/src/test/resources/surefire-828-emptyGroupExpr-testng/pom.xml
+++ b/surefire-its/src/test/resources/surefire-828-emptyGroupExpr-testng/pom.xml
@@ -19,8 +19,8 @@
     <name>TestNG group expressions tests</name>
 
     <properties>
-        <maven.compiler.source>1.6</maven.compiler.source>
-        <maven.compiler.target>1.6</maven.compiler.target>
+        <maven.compiler.source>1.7</maven.compiler.source>
+        <maven.compiler.target>1.7</maven.compiler.target>
     </properties>
 
     <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-832-provider-selection/pom.xml b/surefire-its/src/test/resources/surefire-832-provider-selection/pom.xml
index f2dbec0f1..895dd9182 100644
--- a/surefire-its/src/test/resources/surefire-832-provider-selection/pom.xml
+++ b/surefire-its/src/test/resources/surefire-832-provider-selection/pom.xml
@@ -32,8 +32,8 @@
   <properties>
     <junitVersion>4.8.1</junitVersion>
       <groups>junit4.CategoryA,junit4.CategoryB</groups>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-847-testngfail/pom.xml b/surefire-its/src/test/resources/surefire-847-testngfail/pom.xml
index 511ea6ba9..18cb6799f 100644
--- a/surefire-its/src/test/resources/surefire-847-testngfail/pom.xml
+++ b/surefire-its/src/test/resources/surefire-847-testngfail/pom.xml
@@ -54,7 +54,7 @@
   </build>
   <properties>
     <defaultSuiteFile>${basedir}/src/test/resources/suite.xml</defaultSuiteFile>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 </project>
diff --git a/surefire-its/src/test/resources/surefire-855-failsafe-use-war/pom.xml b/surefire-its/src/test/resources/surefire-855-failsafe-use-war/pom.xml
index 3361e8c68..96634a783 100644
--- a/surefire-its/src/test/resources/surefire-855-failsafe-use-war/pom.xml
+++ b/surefire-its/src/test/resources/surefire-855-failsafe-use-war/pom.xml
@@ -98,7 +98,7 @@
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-war-plugin</artifactId>
-        <version>2.4</version>
+        <version>3.3.2</version>
         <configuration>
           <failOnMissingWebXml>false</failOnMissingWebXml>
         </configuration>
diff --git a/surefire-its/src/test/resources/surefire-930-failsafe-runtests/pom.xml b/surefire-its/src/test/resources/surefire-930-failsafe-runtests/pom.xml
index bc20362cc..8535068e9 100644
--- a/surefire-its/src/test/resources/surefire-930-failsafe-runtests/pom.xml
+++ b/surefire-its/src/test/resources/surefire-930-failsafe-runtests/pom.xml
@@ -11,8 +11,8 @@
 
     <properties>
         <surefire.version>2.12.4</surefire.version>
-        <maven.compiler.source>1.6</maven.compiler.source>
-        <maven.compiler.target>1.6</maven.compiler.target>
+        <maven.compiler.source>1.7</maven.compiler.source>
+        <maven.compiler.target>1.7</maven.compiler.target>
     </properties>
     <dependencies>
         <dependency>
diff --git a/surefire-its/src/test/resources/surefire-931-provider-failure/pom.xml b/surefire-its/src/test/resources/surefire-931-provider-failure/pom.xml
index b866defd7..62321490a 100644
--- a/surefire-its/src/test/resources/surefire-931-provider-failure/pom.xml
+++ b/surefire-its/src/test/resources/surefire-931-provider-failure/pom.xml
@@ -12,8 +12,8 @@
 
     <properties>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-        <maven.compiler.source>1.6</maven.compiler.source>
-        <maven.compiler.target>1.6</maven.compiler.target>
+        <maven.compiler.source>1.7</maven.compiler.source>
+        <maven.compiler.target>1.7</maven.compiler.target>
     </properties>
     <build>
         <plugins>
diff --git a/surefire-its/src/test/resources/surefire-943-report-content/pom.xml b/surefire-its/src/test/resources/surefire-943-report-content/pom.xml
index 13e84034b..3b2958fc2 100644
--- a/surefire-its/src/test/resources/surefire-943-report-content/pom.xml
+++ b/surefire-its/src/test/resources/surefire-943-report-content/pom.xml
@@ -10,8 +10,8 @@
 
 	<properties>
 		<surefire.version>2.13</surefire.version>
-		<maven.compiler.source>1.6</maven.compiler.source>
-		<maven.compiler.target>1.6</maven.compiler.target>
+		<maven.compiler.source>1.7</maven.compiler.source>
+		<maven.compiler.target>1.7</maven.compiler.target>
 	</properties>
 
 	<build>
diff --git a/surefire-its/src/test/resources/surefire-946-killMainProcessInReusableFork/pom.xml b/surefire-its/src/test/resources/surefire-946-killMainProcessInReusableFork/pom.xml
index 83e38709a..53bb0a352 100644
--- a/surefire-its/src/test/resources/surefire-946-killMainProcessInReusableFork/pom.xml
+++ b/surefire-its/src/test/resources/surefire-946-killMainProcessInReusableFork/pom.xml
@@ -27,8 +27,8 @@
 	<name>Tests killing the main maven process when using reusable forks</name>
 
 	<properties>
-		<maven.compiler.source>1.6</maven.compiler.source>
-		<maven.compiler.target>1.6</maven.compiler.target>
+		<maven.compiler.source>1.7</maven.compiler.source>
+		<maven.compiler.target>1.7</maven.compiler.target>
 	</properties>
 
 	<dependencies>
diff --git a/surefire-its/src/test/resources/surefire-946-self-destruct-plugin/pom.xml b/surefire-its/src/test/resources/surefire-946-self-destruct-plugin/pom.xml
index 005eb4fa3..811be939f 100644
--- a/surefire-its/src/test/resources/surefire-946-self-destruct-plugin/pom.xml
+++ b/surefire-its/src/test/resources/surefire-946-self-destruct-plugin/pom.xml
@@ -12,8 +12,8 @@
 
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-972-bizarre-noclassdef/pom.xml b/surefire-its/src/test/resources/surefire-972-bizarre-noclassdef/pom.xml
index 220f37b9a..7a2ac4de1 100644
--- a/surefire-its/src/test/resources/surefire-972-bizarre-noclassdef/pom.xml
+++ b/surefire-its/src/test/resources/surefire-972-bizarre-noclassdef/pom.xml
@@ -10,8 +10,8 @@
     <module>boom</module>
   </modules>
     <properties>
-        <maven.compiler.source>1.6</maven.compiler.source>
-        <maven.compiler.target>1.6</maven.compiler.target>
+        <maven.compiler.source>1.7</maven.compiler.source>
+        <maven.compiler.target>1.7</maven.compiler.target>
     </properties>
     <build>
         <pluginManagement>
diff --git a/surefire-its/src/test/resources/surefire-975-wrong-encoding/pom.xml b/surefire-its/src/test/resources/surefire-975-wrong-encoding/pom.xml
index 571809f75..49848d6b4 100755
--- a/surefire-its/src/test/resources/surefire-975-wrong-encoding/pom.xml
+++ b/surefire-its/src/test/resources/surefire-975-wrong-encoding/pom.xml
@@ -9,8 +9,8 @@
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-979-smartStackTrace-wrongClassloader/module1/pom.xml b/surefire-its/src/test/resources/surefire-979-smartStackTrace-wrongClassloader/module1/pom.xml
index e0c74776f..79e1c7d43 100644
--- a/surefire-its/src/test/resources/surefire-979-smartStackTrace-wrongClassloader/module1/pom.xml
+++ b/surefire-its/src/test/resources/surefire-979-smartStackTrace-wrongClassloader/module1/pom.xml
@@ -7,8 +7,8 @@
     <name>surefire-979-base</name>
 
     <properties>
-        <maven.compiler.source>1.6</maven.compiler.source>
-        <maven.compiler.target>1.6</maven.compiler.target>
+        <maven.compiler.source>1.7</maven.compiler.source>
+        <maven.compiler.target>1.7</maven.compiler.target>
     </properties>
 
     <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-979-smartStackTrace-wrongClassloader/module2/pom.xml b/surefire-its/src/test/resources/surefire-979-smartStackTrace-wrongClassloader/module2/pom.xml
index e8ef4246d..cae9147af 100644
--- a/surefire-its/src/test/resources/surefire-979-smartStackTrace-wrongClassloader/module2/pom.xml
+++ b/surefire-its/src/test/resources/surefire-979-smartStackTrace-wrongClassloader/module2/pom.xml
@@ -7,8 +7,8 @@
     <name>surefire-979</name>
 
     <properties>
-        <maven.compiler.source>1.6</maven.compiler.source>
-        <maven.compiler.target>1.6</maven.compiler.target>
+        <maven.compiler.source>1.7</maven.compiler.source>
+        <maven.compiler.target>1.7</maven.compiler.target>
     </properties>
 
     <dependencies>
diff --git a/surefire-its/src/test/resources/surefire-979-smartStackTrace-wrongClassloader/pom.xml b/surefire-its/src/test/resources/surefire-979-smartStackTrace-wrongClassloader/pom.xml
index 9a4c59522..c9c1f912d 100644
--- a/surefire-its/src/test/resources/surefire-979-smartStackTrace-wrongClassloader/pom.xml
+++ b/surefire-its/src/test/resources/surefire-979-smartStackTrace-wrongClassloader/pom.xml
@@ -13,8 +13,8 @@
     </modules>
 
     <properties>
-        <maven.compiler.source>1.6</maven.compiler.source>
-        <maven.compiler.target>1.6</maven.compiler.target>
+        <maven.compiler.source>1.7</maven.compiler.source>
+        <maven.compiler.target>1.7</maven.compiler.target>
     </properties>
 
     <build>
diff --git a/surefire-its/src/test/resources/system-properties/pom.xml b/surefire-its/src/test/resources/system-properties/pom.xml
index 79899b571..1d2952dbf 100644
--- a/surefire-its/src/test/resources/system-properties/pom.xml
+++ b/surefire-its/src/test/resources/system-properties/pom.xml
@@ -91,8 +91,8 @@
   
   <properties>
     <setOnArgLineWorkAround>fool</setOnArgLineWorkAround>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
 </project>
diff --git a/surefire-its/src/test/resources/test-helper-dump-pid-plugin/pom.xml b/surefire-its/src/test/resources/test-helper-dump-pid-plugin/pom.xml
index 0c4a15e9e..4a01e2313 100644
--- a/surefire-its/src/test/resources/test-helper-dump-pid-plugin/pom.xml
+++ b/surefire-its/src/test/resources/test-helper-dump-pid-plugin/pom.xml
@@ -12,8 +12,8 @@
 
 	<properties>
 		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-		<maven.compiler.source>1.6</maven.compiler.source>
-		<maven.compiler.target>1.6</maven.compiler.target>
+		<maven.compiler.source>1.7</maven.compiler.source>
+		<maven.compiler.target>1.7</maven.compiler.target>
 	</properties>
 
 	<dependencies>
diff --git a/surefire-its/src/test/resources/testng-afterSuiteFailure/pom.xml b/surefire-its/src/test/resources/testng-afterSuiteFailure/pom.xml
index 3958c791f..0b96853d6 100644
--- a/surefire-its/src/test/resources/testng-afterSuiteFailure/pom.xml
+++ b/surefire-its/src/test/resources/testng-afterSuiteFailure/pom.xml
@@ -29,8 +29,8 @@
   <name>TestNG failure after suite</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <profiles>
diff --git a/surefire-its/src/test/resources/testng-beforeMethod/pom.xml b/surefire-its/src/test/resources/testng-beforeMethod/pom.xml
index 63f344518..1072958f9 100644
--- a/surefire-its/src/test/resources/testng-beforeMethod/pom.xml
+++ b/surefire-its/src/test/resources/testng-beforeMethod/pom.xml
@@ -29,8 +29,8 @@
   <name>TestNG @BeforeMethod annotation</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <profiles>
diff --git a/surefire-its/src/test/resources/testng-beforeMethodFailure/pom.xml b/surefire-its/src/test/resources/testng-beforeMethodFailure/pom.xml
index 6e8ee6568..88b6a4e14 100644
--- a/surefire-its/src/test/resources/testng-beforeMethodFailure/pom.xml
+++ b/surefire-its/src/test/resources/testng-beforeMethodFailure/pom.xml
@@ -29,8 +29,8 @@
   <name>TestNG failure in @BeforeMethod annotation</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <profiles>
diff --git a/surefire-its/src/test/resources/testng-execute-error/pom.xml b/surefire-its/src/test/resources/testng-execute-error/pom.xml
index a1403576b..7e06dbede 100644
--- a/surefire-its/src/test/resources/testng-execute-error/pom.xml
+++ b/surefire-its/src/test/resources/testng-execute-error/pom.xml
@@ -29,8 +29,8 @@
   <name>Test proper output from forked execution in case of uncatched error during suite run</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <profiles>
diff --git a/surefire-its/src/test/resources/testng-groups/pom.xml b/surefire-its/src/test/resources/testng-groups/pom.xml
index f26929e59..f6b7447d6 100644
--- a/surefire-its/src/test/resources/testng-groups/pom.xml
+++ b/surefire-its/src/test/resources/testng-groups/pom.xml
@@ -29,8 +29,8 @@
   <name>Test for testng groups</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/testng-jdk14/pom.xml b/surefire-its/src/test/resources/testng-jdk14/pom.xml
index 2098e7ddb..337f71c13 100644
--- a/surefire-its/src/test/resources/testng-jdk14/pom.xml
+++ b/surefire-its/src/test/resources/testng-jdk14/pom.xml
@@ -29,8 +29,8 @@
   <name>Test for testng jdk14 integration</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/testng-junit-together/pom.xml b/surefire-its/src/test/resources/testng-junit-together/pom.xml
index f8d0b203a..93c9942bf 100644
--- a/surefire-its/src/test/resources/testng-junit-together/pom.xml
+++ b/surefire-its/src/test/resources/testng-junit-together/pom.xml
@@ -29,8 +29,8 @@
   <name>TestNG and Junit Together</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <profiles>
diff --git a/surefire-its/src/test/resources/testng-listener-reporter/pom.xml b/surefire-its/src/test/resources/testng-listener-reporter/pom.xml
index 3fed89f59..af6ac28c4 100644
--- a/surefire-its/src/test/resources/testng-listener-reporter/pom.xml
+++ b/surefire-its/src/test/resources/testng-listener-reporter/pom.xml
@@ -29,8 +29,8 @@
   <name>TestNG listener and reporter test</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <profiles>
diff --git a/surefire-its/src/test/resources/testng-method-pattern-after/pom.xml b/surefire-its/src/test/resources/testng-method-pattern-after/pom.xml
index fac74ae45..41768cd01 100644
--- a/surefire-its/src/test/resources/testng-method-pattern-after/pom.xml
+++ b/surefire-its/src/test/resources/testng-method-pattern-after/pom.xml
@@ -29,8 +29,8 @@
   <name>Test for Testng</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <profiles>
diff --git a/surefire-its/src/test/resources/testng-method-pattern-before/pom.xml b/surefire-its/src/test/resources/testng-method-pattern-before/pom.xml
index fac74ae45..41768cd01 100644
--- a/surefire-its/src/test/resources/testng-method-pattern-before/pom.xml
+++ b/surefire-its/src/test/resources/testng-method-pattern-before/pom.xml
@@ -29,8 +29,8 @@
   <name>Test for Testng</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <profiles>
diff --git a/surefire-its/src/test/resources/testng-method-pattern/pom.xml b/surefire-its/src/test/resources/testng-method-pattern/pom.xml
index fb627b734..50b08bf79 100644
--- a/surefire-its/src/test/resources/testng-method-pattern/pom.xml
+++ b/surefire-its/src/test/resources/testng-method-pattern/pom.xml
@@ -29,8 +29,8 @@
   <name>Test for Testng</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <profiles>
diff --git a/surefire-its/src/test/resources/testng-parallel-with-annotations/pom.xml b/surefire-its/src/test/resources/testng-parallel-with-annotations/pom.xml
index ed458637b..9464c8484 100644
--- a/surefire-its/src/test/resources/testng-parallel-with-annotations/pom.xml
+++ b/surefire-its/src/test/resources/testng-parallel-with-annotations/pom.xml
@@ -18,8 +18,8 @@
 	<version>1.0-SNAPSHOT</version>
 	<name>TestNG group/parallel thread tests, with parallel settings set by @Test(threadPoolSize)</name>
 	<properties>
-		<maven.compiler.source>1.6</maven.compiler.source>
-		<maven.compiler.target>1.6</maven.compiler.target>
+		<maven.compiler.source>1.7</maven.compiler.source>
+		<maven.compiler.target>1.7</maven.compiler.target>
 	</properties>
 	<dependencies>
 		<dependency>
diff --git a/surefire-its/src/test/resources/testng-path with spaces/pom.xml b/surefire-its/src/test/resources/testng-path with spaces/pom.xml
index cedd92d6f..3f1138a4b 100644
--- a/surefire-its/src/test/resources/testng-path with spaces/pom.xml	
+++ b/surefire-its/src/test/resources/testng-path with spaces/pom.xml	
@@ -29,8 +29,8 @@
   <name>TestNG test in a path with spaces</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <profiles>
diff --git a/surefire-its/src/test/resources/testng-simple/pom.xml b/surefire-its/src/test/resources/testng-simple/pom.xml
index 7ab390424..d361ddc17 100644
--- a/surefire-its/src/test/resources/testng-simple/pom.xml
+++ b/surefire-its/src/test/resources/testng-simple/pom.xml
@@ -76,8 +76,8 @@
     <surefire.testng.verbose>0</surefire.testng.verbose>
     <argLine/>
     <jacoco.agent/>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <build>
diff --git a/surefire-its/src/test/resources/testng-single-method-5-14-9/pom.xml b/surefire-its/src/test/resources/testng-single-method-5-14-9/pom.xml
index b7629d59c..a10bd0fa2 100644
--- a/surefire-its/src/test/resources/testng-single-method-5-14-9/pom.xml
+++ b/surefire-its/src/test/resources/testng-single-method-5-14-9/pom.xml
@@ -29,8 +29,8 @@
   <name>Test for Testng</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/testng-single-method/pom.xml b/surefire-its/src/test/resources/testng-single-method/pom.xml
index 330ffcb10..32ebfafb4 100644
--- a/surefire-its/src/test/resources/testng-single-method/pom.xml
+++ b/surefire-its/src/test/resources/testng-single-method/pom.xml
@@ -29,8 +29,8 @@
   <name>Test for Testng</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <profiles>
diff --git a/surefire-its/src/test/resources/testng-suite-xml/pom.xml b/surefire-its/src/test/resources/testng-suite-xml/pom.xml
index b0af8b8b3..ec02455cf 100644
--- a/surefire-its/src/test/resources/testng-suite-xml/pom.xml
+++ b/surefire-its/src/test/resources/testng-suite-xml/pom.xml
@@ -29,8 +29,8 @@
   <name>TestNG Suite XML File</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <profiles>
diff --git a/surefire-its/src/test/resources/testng-twoTestCaseSuite/pom.xml b/surefire-its/src/test/resources/testng-twoTestCaseSuite/pom.xml
index 0293192dc..f7477febd 100644
--- a/surefire-its/src/test/resources/testng-twoTestCaseSuite/pom.xml
+++ b/surefire-its/src/test/resources/testng-twoTestCaseSuite/pom.xml
@@ -29,8 +29,8 @@
   <name>TestNG Suite XML with two test cases</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <profiles>
diff --git a/surefire-its/src/test/resources/timeout-forked/pom.xml b/surefire-its/src/test/resources/timeout-forked/pom.xml
index a36f8f46a..fc95eb337 100644
--- a/surefire-its/src/test/resources/timeout-forked/pom.xml
+++ b/surefire-its/src/test/resources/timeout-forked/pom.xml
@@ -29,8 +29,8 @@
   <name>Timeout forked process</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <build>
diff --git a/surefire-its/src/test/resources/unicode-testnames/pom.xml b/surefire-its/src/test/resources/unicode-testnames/pom.xml
index cd0a7b8f5..c186f83c4 100644
--- a/surefire-its/src/test/resources/unicode-testnames/pom.xml
+++ b/surefire-its/src/test/resources/unicode-testnames/pom.xml
@@ -31,8 +31,8 @@
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/working-directory-is-invalid-property/pom.xml b/surefire-its/src/test/resources/working-directory-is-invalid-property/pom.xml
index 53d42fb65..fa19695ed 100644
--- a/surefire-its/src/test/resources/working-directory-is-invalid-property/pom.xml
+++ b/surefire-its/src/test/resources/working-directory-is-invalid-property/pom.xml
@@ -28,8 +28,8 @@
   <name>Don't run tests if working directory is invalid property.</name>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <dependencies>
diff --git a/surefire-its/src/test/resources/working-directory-missing/pom.xml b/surefire-its/src/test/resources/working-directory-missing/pom.xml
index de466d98b..515a41438 100644
--- a/surefire-its/src/test/resources/working-directory-missing/pom.xml
+++ b/surefire-its/src/test/resources/working-directory-missing/pom.xml
@@ -26,8 +26,8 @@
   <version>1.0</version>
   <name>Run tests in a nonexistent working directory</name>
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
   <dependencies>
     <dependency>
diff --git a/surefire-its/src/test/resources/working-directory/pom.xml b/surefire-its/src/test/resources/working-directory/pom.xml
index 9880d632b..1a7b7d7ab 100644
--- a/surefire-its/src/test/resources/working-directory/pom.xml
+++ b/surefire-its/src/test/resources/working-directory/pom.xml
@@ -30,8 +30,8 @@
   <packaging>pom</packaging>
 
   <properties>
-    <maven.compiler.source>1.6</maven.compiler.source>
-    <maven.compiler.target>1.6</maven.compiler.target>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
 
   <modules>