[MSHARED-814] Require Java 7
diff --git a/pom.xml b/pom.xml
index 4cda973..594e3de 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,8 +23,8 @@
   <parent>
     <groupId>org.apache.maven.shared</groupId>
     <artifactId>maven-shared-components</artifactId>
-    <version>30</version>
-    <relativePath>../../pom/maven/maven-shared-components/pom.xml</relativePath>
+    <version>33</version>
+    <relativePath/>
   </parent>
 
   <groupId>org.apache.maven.reporting</groupId>
@@ -57,6 +57,7 @@
 
   <properties>
     <mavenVersion>3.0</mavenVersion>
+    <javaVersion>7</javaVersion>
     <plexusVersion>1.5.4</plexusVersion>
   </properties>
 
@@ -106,7 +107,6 @@
     <dependency>
       <groupId>org.codehaus.plexus</groupId>
       <artifactId>plexus-component-annotations</artifactId>
-      <version>1.6</version>
       <scope>provided</scope>
     </dependency>
 
@@ -287,7 +287,6 @@
       <plugin>
         <groupId>org.codehaus.plexus</groupId>
         <artifactId>plexus-component-metadata</artifactId>
-        <version>1.7.1</version>
         <executions>
           <execution>
             <goals>
@@ -323,7 +322,6 @@
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-invoker-plugin</artifactId>
-        <version>3.0.1</version><!-- TODO remove version when upgrading parent pom -->
         <configuration>
           <debug>true</debug>
           <projectsDirectory>src/it</projectsDirectory>
@@ -332,12 +330,15 @@
           <postBuildHookScript>verify</postBuildHookScript>
           <localRepositoryPath>${project.build.directory}/local-repo</localRepositoryPath>
           <settingsFile>src/it/settings.xml</settingsFile>
+          <ignoreFailures>false</ignoreFailures>
           <pomIncludes>
             <pomInclude>*/pom.xml</pomInclude>
           </pomIncludes>
           <properties>
             <maven.compiler.source>${maven.compiler.source}</maven.compiler.source>
             <maven.compiler.target>${maven.compiler.target}</maven.compiler.target>
+            <!-- e.g. ensure that Java7 picks up TLSv1.2 when connecting with Central -->
+            <https.protocols>${https.protocols}</https.protocols>
           </properties>
         </configuration>
         <executions>
diff --git a/src/it/pluginManagement_dependencies/pom.xml b/src/it/pluginManagement_dependencies/pom.xml
index 9ad03e6..8d09ab5 100644
--- a/src/it/pluginManagement_dependencies/pom.xml
+++ b/src/it/pluginManagement_dependencies/pom.xml
@@ -49,7 +49,7 @@
         </plugin>
         <plugin>
           <artifactId>maven-site-plugin</artifactId>
-          <version>3.3</version>
+          <version>3.7.1</version>
           <dependencies>
             <dependency>
               <groupId>@project.groupId@</groupId>
@@ -73,6 +73,17 @@
           </reportSet>
         </reportSets>
       </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-project-info-reports-plugin</artifactId>
+        <reportSets>
+          <reportSet>
+            <reports>
+              <report>index</report>
+            </reports>
+          </reportSet>
+        </reportSets>
+      </plugin>
     </plugins>
   </reporting>
 </project>
diff --git a/src/main/java/org/apache/maven/reporting/exec/DefaultMavenPluginManagerHelper.java b/src/main/java/org/apache/maven/reporting/exec/DefaultMavenPluginManagerHelper.java
index 4de901e..1de8dc7 100644
--- a/src/main/java/org/apache/maven/reporting/exec/DefaultMavenPluginManagerHelper.java
+++ b/src/main/java/org/apache/maven/reporting/exec/DefaultMavenPluginManagerHelper.java
@@ -125,6 +125,7 @@
         }
     }
 
+    @Override
     public PluginDescriptor getPluginDescriptor( Plugin plugin, MavenSession session )
         throws PluginResolutionException, PluginDescriptorParsingException, InvalidPluginDescriptorException
     {
@@ -173,6 +174,7 @@
         return null;
     }
 
+    @Override
     public void setupPluginRealm( PluginDescriptor pluginDescriptor, MavenSession session, ClassLoader parent,
                                   List<String> imports, List<String> excludeArtifactIds )
         throws PluginResolutionException, PluginContainerException
diff --git a/src/main/java/org/apache/maven/reporting/exec/DefaultMavenReportExecutor.java b/src/main/java/org/apache/maven/reporting/exec/DefaultMavenReportExecutor.java
index ceb6ed3..1682073 100644
--- a/src/main/java/org/apache/maven/reporting/exec/DefaultMavenReportExecutor.java
+++ b/src/main/java/org/apache/maven/reporting/exec/DefaultMavenReportExecutor.java
@@ -125,6 +125,7 @@
     private static final List<String> EXCLUDES = Arrays.asList( "doxia-site-renderer", "doxia-sink-api",
                                                                 "maven-reporting-api" );
 
+    @Override
     public List<MavenReportExecution> buildMavenReports( MavenReportExecutorRequest mavenReportExecutorRequest )
         throws MojoExecutionException
     {
@@ -134,8 +135,8 @@
         }
         getLog().debug( "DefaultMavenReportExecutor.buildMavenReports()" );
 
-        Set<String> reportPluginKeys = new HashSet<String>();
-        List<MavenReportExecution> reportExecutions = new ArrayList<MavenReportExecution>();
+        Set<String> reportPluginKeys = new HashSet<>();
+        List<MavenReportExecution> reportExecutions = new ArrayList<>();
 
         String pluginKey = "";
         try
@@ -177,11 +178,11 @@
             mavenPluginManagerHelper.getPluginDescriptor( plugin, mavenReportExecutorRequest.getMavenSession() );
 
         // step 2: prepare the goals
-        List<GoalWithConf> goalsWithConfiguration = new ArrayList<GoalWithConf>();
+        List<GoalWithConf> goalsWithConfiguration = new ArrayList<>();
         boolean hasUserDefinedReports = prepareGoals( reportPlugin, pluginDescriptor, goalsWithConfiguration );
 
         // step 3: prepare the reports
-        List<MavenReportExecution> reports = new ArrayList<MavenReportExecution>();
+        List<MavenReportExecution> reports = new ArrayList<>( goalsWithConfiguration.size() );
         for ( GoalWithConf report : goalsWithConfiguration )
         {
             MavenReportExecution mavenReportExecution =
@@ -230,7 +231,7 @@
             return false;
         }
 
-        Set<String> goals = new HashSet<String>();
+        Set<String> goals = new HashSet<>();
         for ( String report : reportPlugin.getReports() )
         {
             if ( goals.add( report ) )
diff --git a/src/test/java/org/apache/maven/reporting/exec/TestDefaultMavenReportExecutor.java b/src/test/java/org/apache/maven/reporting/exec/TestDefaultMavenReportExecutor.java
index a13102e..ced71fb 100644
--- a/src/test/java/org/apache/maven/reporting/exec/TestDefaultMavenReportExecutor.java
+++ b/src/test/java/org/apache/maven/reporting/exec/TestDefaultMavenReportExecutor.java
@@ -190,16 +190,19 @@
 
         request.setWorkspaceReader( new WorkspaceReader()
         {
+            @Override
             public WorkspaceRepository getRepository()
             {
                 return new WorkspaceRepository();
             }
 
+            @Override
             public File findArtifact( Artifact artifact )
             {
                 return null;
             }
 
+            @Override
             public List<String> findVersions( Artifact artifact )
             {
                 return Collections.emptyList();