[Git][java-team/maven-reporting-exec][master] 11 commits: Standards-Version updated to 4.6.2

Emmanuel Bourg (@ebourg) gitlab at salsa.debian.org
Mon Jan 9 14:32:53 GMT 2023



Emmanuel Bourg pushed to branch master at Debian Java Maintainers / maven-reporting-exec


Commits:
7bc9d4b9 by Emmanuel Bourg at 2023-01-06T13:57:32+01:00
Standards-Version updated to 4.6.2

- - - - -
c5956d33 by Emmanuel Bourg at 2023-01-06T13:58:15+01:00
New upstream version 1.5.1
- - - - -
897ae4a7 by Emmanuel Bourg at 2023-01-06T14:00:01+01:00
New upstream version 1.6.0
- - - - -
9ec7b9df by Emmanuel Bourg at 2023-01-06T14:00:01+01:00
Update upstream source from tag 'upstream/1.6.0'

Update to upstream version '1.6.0'
with Debian dir 3a5fff3cc27a1e6e136e764a62772b7378c5fb52
- - - - -
e67d4bc8 by Emmanuel Bourg at 2023-01-06T14:19:10+01:00
Removed the patches

- - - - -
ec39b124 by Emmanuel Bourg at 2023-01-06T14:22:12+01:00
New dependency on libmaven-shade-plugin-java

- - - - -
1ed2ba14 by Emmanuel Bourg at 2023-01-06T15:26:24+01:00
Removed the dependency on velocity

- - - - -
74288de9 by Emmanuel Bourg at 2023-01-06T15:29:57+01:00
Depend on libmaven-parent-java to inherit the missing dependency versions

- - - - -
1b793281 by Emmanuel Bourg at 2023-01-06T15:30:49+01:00
New dependency on libmaven-resolver-transport-http-java

- - - - -
15d80c4d by Emmanuel Bourg at 2023-01-06T15:31:04+01:00
Removed the unused Maven rules

- - - - -
2965869b by Emmanuel Bourg at 2023-01-06T15:31:20+01:00
Upload to unstable

- - - - -


29 changed files:

- + .asf.yaml
- + .github/workflows/maven-verify.yml
- + .gitignore
- + Jenkinsfile
- + README.md
- debian/changelog
- debian/control
- debian/libmaven-reporting-exec-java.poms
- debian/maven.rules
- − debian/patches/01-maven-compatibility.patch
- − debian/patches/02-maven-compatibility.patch
- − debian/patches/series
- pom.xml
- src/it/aether/pom.xml
- src/it/forked-lifecycle/pom.xml
- src/it/pluginManagement_dependencies/pom.xml
- src/it/reportConfig/pom.xml
- src/it/reportConfig/src/main/java/org/apache/maven/shared/it/ConfigurationReport.java
- src/main/java/org/apache/maven/reporting/exec/DefaultMavenPluginManagerHelper.java
- src/main/java/org/apache/maven/reporting/exec/DefaultMavenReportExecutor.java
- src/main/java/org/apache/maven/reporting/exec/MavenPluginManagerHelper.java
- src/main/java/org/apache/maven/reporting/exec/MavenReportExecution.java
- src/main/java/org/apache/maven/reporting/exec/MavenReportExecutor.java
- src/main/java/org/apache/maven/reporting/exec/MavenReportExecutorRequest.java
- src/main/java/org/apache/maven/reporting/exec/ReportPlugin.java
- src/main/java/org/apache/maven/reporting/exec/ReportSet.java
- src/site/apt/index.apt.vm
- src/site/xdoc/download.xml.vm
- src/test/java/org/apache/maven/reporting/exec/TestDefaultMavenReportExecutor.java


Changes:

=====================================
.asf.yaml
=====================================
@@ -0,0 +1,34 @@
+# 
+#  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.
+#
+# see https://s.apache.org/asfyaml
+github:
+  description: "Apache Maven Reporting Executor"
+  homepage: https://maven.apache.org/shared/maven-reporting-exec/
+  labels:
+    - java
+    - build-management
+    - maven-shared
+    - maven
+  enabled_merge_buttons:
+    squash: true
+    merge: false
+    rebase: true
+notifications:
+  commits: commits at maven.apache.org
+  issues: issues at maven.apache.org
+  pullrequests: issues at maven.apache.org
+  jira_options: link label comment


=====================================
.github/workflows/maven-verify.yml
=====================================
@@ -0,0 +1,29 @@
+# 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.
+
+name: Verify
+
+on:
+  push:
+  pull_request:
+
+jobs:
+  build:
+    name: Verify
+    uses: apache/maven-gh-actions-shared/.github/workflows/maven-verify.yml at v2
+    with:
+      verify-fail-fast: false


=====================================
.gitignore
=====================================
@@ -0,0 +1,17 @@
+target/
+.project
+.classpath
+.settings/
+.svn/
+bin/
+# Intellij
+*.ipr
+*.iml
+.idea
+out/
+.DS_Store
+/bootstrap
+/dependencies.xml
+.java-version
+/dependency-reduced-pom.xml
+.checkstyle


=====================================
Jenkinsfile
=====================================
@@ -0,0 +1,20 @@
+/**
+ * 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.
+ */
+
+asfMavenTlpStdBuild()


=====================================
README.md
=====================================
@@ -0,0 +1,100 @@
+<!---
+ 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.
+-->
+Contributing to [Apache Maven Reporting Executor](https://maven.apache.org.reporting/maven-reporting-exec/)
+======================
+
+[![ASF Jira](https://img.shields.io/endpoint?url=https%3A%2F%2Fmaven.apache.org%2Fbadges%2Fasf_jira-MSHARED.json)][jira]
+[![Apache License, Version 2.0, January 2004](https://img.shields.io/github/license/apache/maven.svg?label=License)][license]
+[![Maven Central](https://img.shields.io/maven-central/v/org.apache.maven.reporting/maven-reporting-exec.svg?label=Maven%20Central)](https://search.maven.org/artifact/org.apache.maven.reporting/maven-reporting-exec)
+[![Reproducible Builds](https://img.shields.io/badge/Reproducible_Builds-ok-green?labelColor=blue)](https://github.com/jvm-repo-rebuild/reproducible-central#org.apache.maven.reporting:maven-reporting-exec)
+[![Jenkins Status](https://img.shields.io/jenkins/s/https/ci-maven.apache.org/job/Maven/job/maven-box/job/maven-reporting-exec/job/master.svg)][build]
+[![Jenkins tests](https://img.shields.io/jenkins/t/https/ci-maven.apache.org/job/Maven/job/maven-box/job/maven-reporting-exec/job/master.svg)][test-results]
+
+
+You have found a bug or you have an idea for a cool new feature? Contributing
+code is a great way to give something back to the open source community. Before
+you dig right into the code, there are a few guidelines that we need
+contributors to follow so that we can have a chance of keeping on top of
+things.
+
+Getting Started
+---------------
+
++ Make sure you have a [JIRA account](https://issues.apache.org/jira/).
++ Make sure you have a [GitHub account](https://github.com/signup/free).
++ If you're planning to implement a new feature, it makes sense to discuss your changes 
+  on the [dev list][ml-list] first. 
+  This way you can make sure you're not wasting your time on something that isn't 
+  considered to be in Apache Maven's scope.
++ Submit a ticket for your issue, assuming one does not already exist.
+  + Clearly describe the issue, including steps to reproduce when it is a bug.
+  + Make sure you fill in the earliest version that you know has the issue.
++ Fork the repository on GitHub.
+
+Making and Submitting Changes
+--------------
+
+We accept Pull Requests via GitHub. The [developer mailing list][ml-list] is the
+main channel of communication for contributors.  
+There are some guidelines which will make applying PRs easier for us:
++ Create a topic branch from where you want to base your work (this is usually the master branch).
+  Push your changes to a topic branch in your fork of the repository.
++ Make commits of logical units.
++ Respect the original code style: by using the same [codestyle][code-style],
+  patches should only highlight the actual difference, not being disturbed by any formatting issues:
+  + Only use spaces for indentation.
+  + Create minimal diffs - disable on save actions like reformat source code or organize imports. 
+    If you feel the source code should be reformatted, create a separate PR for this change.
+  + Check for unnecessary whitespace with `git diff --check` before committing.
++ Make sure your commit messages are in the proper format. Your commit message should contain the key of the JIRA issue.
+```
+[MSHARED-XXX] - Subject of the JIRA Ticket
+ Optional supplemental description.
+```
++ Make sure you have added the necessary tests (JUnit/IT) for your changes.
++ Run all the tests with `mvn -Prun-its verify` to assure nothing else was accidentally broken.
++ Submit a pull request to the repository in the Apache organization.
++ Update your JIRA ticket and include a link to the pull request in the ticket.
+
+If you plan to contribute on a regular basis, please consider filing a [contributor license agreement][cla].
+
+Making Trivial Changes
+----------------------
+
+For changes of a trivial nature to comments and documentation, it is not always
+necessary to create a new ticket in JIRA.  In this case, it is appropriate to
+start the first line of a commit with '(doc)' instead of a ticket number..
+
+Additional Resources
+--------------------
+
++ [Contributing patches](https://maven.apache.org/guides/development/guide-maven-development.html#Creating_and_submitting_a_patch)
++ [Apache Maven Shared Components project page][jira]
++ [Contributor License Agreement][cla]
++ [General GitHub documentation](https://help.github.com/)
++ [GitHub pull request documentation](https://help.github.com/send-pull-requests/)
++ [Apache Maven Twitter Account](https://twitter.com/ASFMavenProject)
++ #Maven IRC channel on freenode.org
+
+[jira]: https://issues.apache.org/jira/projects/MSHARED/
+[license]: https://www.apache.org/licenses/LICENSE-2.0
+[ml-list]: https://maven.apache.org/mailing-lists.html
+[code-style]: https://maven.apache.org/developers/conventions/code.html
+[cla]: https://www.apache.org/licenses/#clas
+[maven-wiki]: https://cwiki.apache.org/confluence/display/MAVEN/Index
+[test-results]: https://ci-maven.apache.org/job/Maven/job/maven-box/job/maven-reporting-exec/job/master/lastCompletedBuild/testReport/
+[build]: https://ci-maven.apache.org/job/Maven/job/maven-box/job/maven-reporting-exec/job/master/


=====================================
debian/changelog
=====================================
@@ -1,3 +1,15 @@
+maven-reporting-exec (1.6.0-1) unstable; urgency=medium
+
+  * New upstream release
+    - Removed the patches
+    - New dependencies on libmaven-shade-plugin-java
+      and libmaven-resolver-transport-http-java
+    - Removed the dependency on velocity
+    - Depend on libmaven-parent-java to inherit the missing dependency versions
+  * Standards-Version updated to 4.6.2
+
+ -- Emmanuel Bourg <ebourg at apache.org>  Fri, 06 Jan 2023 15:31:16 +0100
+
 maven-reporting-exec (1.4-3) unstable; urgency=medium
 
   * Depend on eclipse-sisu instead of sonatype-sisu (Closes: #982710)


=====================================
debian/control
=====================================
@@ -8,13 +8,17 @@ Build-Depends:
  default-jdk,
  junit4,
  libdoxia-core-java,
+ libeclipse-sisu-maven-plugin-java,
+ libmaven-parent-java,
  libmaven-reporting-api-java,
+ libmaven-resolver-transport-http-java,
+ libmaven-shade-plugin-java,
  libmaven3-core-java (>= 3.5.0),
+ libmodello-maven-plugin-java,
  libplexus-component-annotations-java,
  libplexus-component-metadata-java,
- maven-debian-helper (>= 2.2),
- velocity
-Standards-Version: 4.5.1
+ maven-debian-helper (>= 2.2)
+Standards-Version: 4.6.2
 Vcs-Git: https://salsa.debian.org/java-team/maven-reporting-exec.git
 Vcs-Browser: https://salsa.debian.org/java-team/maven-reporting-exec
 Homepage: http://maven.apache.org/shared/maven-reporting-exec/


=====================================
debian/libmaven-reporting-exec-java.poms
=====================================
@@ -25,4 +25,4 @@
 #   --site-xml=<location>: Optional, the location for site.xml if it needs to be installed.
 #     Empty by default. [mh_install]
 #
-pom.xml --no-parent --has-package-version
+pom.xml --has-package-version


=====================================
debian/maven.rules
=====================================
@@ -1,12 +1,6 @@
 
 junit junit * s/.*/4.x/ * *
-org.codehaus.plexus plexus-component-annotations * s/.*/1.5.5/ * *
-org.codehaus.plexus plexus-component-metadata maven-plugin s/1.7.1/1.5.5/ * *
 org.apache.maven maven-* * s/.*/3.x/ * *
 org.apache.maven.reporting maven-reporting-api * s/.*/3.x/ * *
-s/velocity/org.apache.velocity/ velocity * s/.*/debian/ * *
-
-s/org.eclipse.aether/org.apache.maven.resolver/ s/aether-api/maven-resolver-api/   * s/.*/debian/ * *
-s/org.eclipse.aether/org.apache.maven.resolver/ s/aether-util/maven-resolver-util/ * s/.*/debian/ * *
-
-s/org.sonatype.sisu/org.eclipse.sisu/ s/sisu-inject-plexus/org.eclipse.sisu.plexus/ * s/.*/debian/ * *
+org.apache.maven.shared maven-shared-components pom s/.*/debian/ * *
+s/org.eclipse.aether/org.apache.maven.resolver/ s/aether-(.*)/maven-resolver-$1/ * s/.*/debian/ * *


=====================================
debian/patches/01-maven-compatibility.patch deleted
=====================================
@@ -1,61 +0,0 @@
-Description: Fixes the compatibility with the version of Maven in Debian
-Author: Emmanuel Bourg <ebourg at apache.org>
-Forwarded: not-needed
---- a/src/test/java/org/apache/maven/reporting/exec/TestDefaultMavenReportExecutor.java
-+++ b/src/test/java/org/apache/maven/reporting/exec/TestDefaultMavenReportExecutor.java
-@@ -47,11 +47,11 @@
- import org.codehaus.plexus.classworlds.realm.ClassRealm;
- import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
- import org.codehaus.plexus.logging.Logger;
--import org.sonatype.aether.RepositorySystemSession;
--import org.sonatype.aether.artifact.Artifact;
--import org.sonatype.aether.repository.RemoteRepository;
--import org.sonatype.aether.repository.WorkspaceReader;
--import org.sonatype.aether.repository.WorkspaceRepository;
-+import org.eclipse.aether.RepositorySystemSession;
-+import org.eclipse.aether.artifact.Artifact;
-+import org.eclipse.aether.repository.RemoteRepository;
-+import org.eclipse.aether.repository.WorkspaceReader;
-+import org.eclipse.aether.repository.WorkspaceRepository;
- 
- import java.io.File;
- import java.util.Collections;
-@@ -262,7 +262,7 @@
-             return localArtifactRepository;
-         }
-         String localRepoPath =
--            System.getProperty( "localRepository", MavenCli.userMavenConfigurationHome.getPath() + "/repository" );
-+            System.getProperty( "localRepository", MavenCli.USER_MAVEN_CONFIGURATION_HOME.getPath() + "/repository" );
- 
-         localArtifactRepository = lookup( RepositorySystem.class ).createLocalRepository( new File( localRepoPath ) );
-         return localArtifactRepository;
-@@ -274,9 +274,9 @@
- 
-         SettingsBuildingRequest settingsBuildingRequest = new DefaultSettingsBuildingRequest();
- 
--        settingsBuildingRequest.setGlobalSettingsFile( MavenCli.DEFAULT_GLOBAL_SETTINGS_FILE );
-+        settingsBuildingRequest.setGlobalSettingsFile( org.apache.maven.cli.configuration.SettingsXmlConfigurationProcessor.DEFAULT_GLOBAL_SETTINGS_FILE );
- 
--        settingsBuildingRequest.setUserSettingsFile( MavenCli.DEFAULT_USER_SETTINGS_FILE );
-+        settingsBuildingRequest.setUserSettingsFile( org.apache.maven.cli.configuration.SettingsXmlConfigurationProcessor.DEFAULT_USER_SETTINGS_FILE );
- 
-         settingsBuildingRequest.getSystemProperties().putAll( System.getProperties() );
- 
---- a/src/main/java/org/apache/maven/reporting/exec/DefaultMavenPluginManagerHelper.java
-+++ b/src/main/java/org/apache/maven/reporting/exec/DefaultMavenPluginManagerHelper.java
-@@ -115,14 +115,7 @@
- 
-     private Object createExclusionsDependencyFilter( List<String> artifactIdsList )
-     {
--        if ( isEclipseAether() )
--        {
--            return new org.eclipse.aether.util.filter.ExclusionsDependencyFilter( artifactIdsList );
--        }
--        else
--        {
--            return new org.sonatype.aether.util.filter.ExclusionsDependencyFilter( artifactIdsList );
--        }
-+        return new org.eclipse.aether.util.filter.ExclusionsDependencyFilter( artifactIdsList );
-     }
- 
-     public PluginDescriptor getPluginDescriptor( Plugin plugin, MavenSession session )


=====================================
debian/patches/02-maven-compatibility.patch deleted
=====================================
@@ -1,23 +0,0 @@
---- a/src/test/java/org/apache/maven/reporting/exec/TestDefaultMavenReportExecutor.java
-+++ b/src/test/java/org/apache/maven/reporting/exec/TestDefaultMavenReportExecutor.java
-@@ -231,7 +231,7 @@
-             return localArtifactRepository;
-         }
-         String localRepoPath =
--            System.getProperty( "localRepository", MavenCli.userMavenConfigurationHome.getPath() + "/repository" );
-+            System.getProperty( "localRepository", MavenCli.USER_MAVEN_CONFIGURATION_HOME.getPath() + "/repository" );
- 
-         localArtifactRepository = lookup( RepositorySystem.class ).createLocalRepository( new File( localRepoPath ) );
-         return localArtifactRepository;
-@@ -243,9 +243,9 @@
- 
-         SettingsBuildingRequest settingsBuildingRequest = new DefaultSettingsBuildingRequest();
- 
--        settingsBuildingRequest.setGlobalSettingsFile( MavenCli.DEFAULT_GLOBAL_SETTINGS_FILE );
-+        settingsBuildingRequest.setGlobalSettingsFile( org.apache.maven.cli.configuration.SettingsXmlConfigurationProcessor.DEFAULT_GLOBAL_SETTINGS_FILE );
- 
--        settingsBuildingRequest.setUserSettingsFile( MavenCli.DEFAULT_USER_SETTINGS_FILE );
-+        settingsBuildingRequest.setUserSettingsFile( org.apache.maven.cli.configuration.SettingsXmlConfigurationProcessor.DEFAULT_USER_SETTINGS_FILE );
- 
-         settingsBuildingRequest.getSystemProperties().putAll( System.getProperties() );
- 


=====================================
debian/patches/series deleted
=====================================
@@ -1 +0,0 @@
-01-maven-compatibility.patch


=====================================
pom.xml
=====================================
@@ -23,43 +23,52 @@
   <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>34</version>
+    <relativePath />
   </parent>
 
   <groupId>org.apache.maven.reporting</groupId>
   <artifactId>maven-reporting-exec</artifactId>
-  <version>1.4</version>
+  <version>1.6.0</version>
 
   <name>Apache Maven Reporting Executor</name>
   <description>Classes to manage report plugin executions with Maven 3.</description>
 
   <scm>
-    <connection>scm:svn:http://svn.apache.org/repos/asf/maven/shared/tags/maven-reporting-exec-1.4</connection>
-    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/shared/tags/maven-reporting-exec-1.4</developerConnection>
-    <url>http://svn.apache.org/viewvc/maven/shared/tags/maven-reporting-exec-1.4</url>
+    <connection>scm:git:https://gitbox.apache.org/repos/asf/maven-reporting-exec.git</connection>
+    <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/maven-reporting-exec.git</developerConnection>
+    <url>https://github.com/apache/maven-reporting-exec/tree/${project.scm.tag}</url>
+    <tag>maven-reporting-exec-1.6.0</tag>
   </scm>
   <issueManagement>
     <system>jira</system>
     <url>https://issues.apache.org/jira/browse/MSHARED/component/12326449</url>
   </issueManagement>
+  <ciManagement>
+    <system>Jenkins</system>
+    <url>https://ci-builds.apache.org/job/Maven/job/maven-box/job/maven-reporting-exec/</url>
+  </ciManagement>
   <distributionManagement>
     <site>
       <id>apache.website</id>
-      <url>scm:svn:https://svn.apache.org/repos/infra/websites/production/maven/components/${maven.site.path}</url>
+      <url>scm:svn:https://svn.apache.org/repos/asf/maven/website/components/${maven.site.path}</url>
     </site>
   </distributionManagement>
 
   <properties>
-    <mavenVersion>3.0</mavenVersion>
-    <plexusVersion>1.5.4</plexusVersion>
+    <mavenVersion>3.2.5</mavenVersion>
+    <aetherVersion>1.0.0.v20140518</aetherVersion>
+    <javaVersion>7</javaVersion>
+    <project.build.outputTimestamp>2022-02-10T08:19:29Z</project.build.outputTimestamp>
+    <sitePluginVersion>3.10.0</sitePluginVersion>
+    <projectInfoReportsPluginVersion>3.2.1</projectInfoReportsPluginVersion>
   </properties>
 
   <dependencies>
     <dependency>
       <groupId>org.apache.maven.reporting</groupId>
       <artifactId>maven-reporting-api</artifactId>
-      <version>3.0</version>
+      <version>3.1.0</version>
     </dependency>
 
     <!-- Maven -->
@@ -96,58 +105,37 @@
     <dependency>
       <groupId>org.apache.maven.shared</groupId>
       <artifactId>maven-shared-utils</artifactId>
-      <version>0.3</version>
+      <version>3.3.4</version>
     </dependency>
     <dependency>
       <groupId>org.codehaus.plexus</groupId>
       <artifactId>plexus-component-annotations</artifactId>
-      <version>1.6</version>
       <scope>provided</scope>
     </dependency>
-
-    <!-- Sonatype Aether for Maven 3.0.x -->
-    <dependency>
-      <groupId>org.sonatype.aether</groupId>
-      <artifactId>aether-api</artifactId>
-      <version>1.7</version>
-      <optional>true</optional>
-    </dependency>
     <dependency>
-      <groupId>org.sonatype.aether</groupId>
-      <artifactId>aether-util</artifactId>
-      <version>1.7</version>
-      <exclusions>
-        <exclusion>
-          <groupId>org.sonatype.aether</groupId>
-          <artifactId>aether-api</artifactId>
-        </exclusion>
-      </exclusions>
+      <groupId>org.codehaus.plexus</groupId>
+      <artifactId>plexus-utils</artifactId>
+      <version>3.1.0</version><!-- do not upgrade to 3.2.0+ because it adds Xpp3Dom.getInputLocation(): see MSHARED-921 -->
     </dependency>
 
-    <!-- Eclipse Aether for Maven 3.1.x -->
+    <!-- Eclipse Aether for Maven 3.1+ -->
     <dependency>
       <groupId>org.eclipse.aether</groupId>
       <artifactId>aether-api</artifactId>
-      <version>0.9.0.M2</version>
+      <version>${aetherVersion}</version>
       <optional>true</optional>
     </dependency>
     <dependency>
       <groupId>org.eclipse.aether</groupId>
       <artifactId>aether-util</artifactId>
-      <version>0.9.0.M2</version>
-      <exclusions>
-        <exclusion>
-         <groupId>org.eclipse.aether</groupId>
-         <artifactId>aether-api</artifactId>
-        </exclusion>
-      </exclusions>
+      <version>${aetherVersion}</version>
     </dependency>
 
     <!-- test -->
     <dependency>
       <groupId>org.apache.maven.plugin-testing</groupId>
       <artifactId>maven-plugin-testing-harness</artifactId>
-      <version>2.1</version>
+      <version>3.3.0</version>
       <scope>test</scope>
       <exclusions>
         <exclusion>
@@ -159,7 +147,13 @@
     <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
-      <version>4.8.2</version>
+      <version>4.13.2</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-simple</artifactId>
+      <version>1.7.32</version>
       <scope>test</scope>
     </dependency>
     <dependency>
@@ -180,42 +174,24 @@
       <version>${mavenVersion}</version>
       <scope>test</scope>
     </dependency>
+
     <dependency>
-      <groupId>org.sonatype.aether</groupId>
-      <artifactId>aether-connector-wagon</artifactId>
-      <version>1.7</version>
+      <groupId>org.eclipse.aether</groupId>
+      <artifactId>aether-connector-basic</artifactId>
+      <version>${aetherVersion}</version>
       <scope>test</scope>
-      <exclusions>
-        <exclusion>
-          <groupId>org.codehaus.plexus</groupId>
-          <artifactId>plexus-container-default</artifactId>
-        </exclusion>
-      </exclusions>
     </dependency>
     <dependency>
-      <groupId>org.apache.maven.wagon</groupId>
-      <artifactId>wagon-http-lightweight</artifactId>
-      <version>1.0</version>
-      <scope>test</scope>
-      <exclusions>
-        <exclusion>
-          <groupId>org.codehaus.plexus</groupId>
-          <artifactId>plexus-container-default</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-    <dependency>
-      <groupId>com.google.guava</groupId>
-      <artifactId>guava</artifactId>
-      <version>r07</version>
+      <groupId>org.eclipse.aether</groupId>
+      <artifactId>aether-transport-http</artifactId>
+      <version>${aetherVersion}</version>
       <scope>test</scope>
     </dependency>
 
-
     <dependency>
       <groupId>org.apache.maven.doxia</groupId>
       <artifactId>doxia-site-renderer</artifactId>
-      <version>1.1.4</version>
+      <version>1.11.1</version>
       <scope>test</scope>
       <exclusions>
         <exclusion>
@@ -230,42 +206,63 @@
     </dependency>
 
     <dependency>
-      <groupId>org.sonatype.sisu</groupId>
-      <artifactId>sisu-inject-plexus</artifactId>
-      <version>2.2.0</version>
+      <groupId>org.eclipse.sisu</groupId>
+      <artifactId>org.eclipse.sisu.plexus</artifactId>
+      <version>0.3.5</version>
       <scope>provided</scope>
     </dependency>
 
-    <dependency>
-      <groupId>org.codehaus.plexus</groupId>
-      <artifactId>plexus-velocity</artifactId>
-      <version>1.1.8</version>
-      <scope>test</scope>
-      <exclusions>
-        <exclusion>
-          <groupId>org.codehaus.plexus</groupId>
-          <artifactId>plexus-container-default</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-
-    <dependency>
-      <groupId>org.apache.velocity</groupId>
-      <artifactId>velocity</artifactId>
-      <version>1.5</version>
-      <scope>test</scope>
-    </dependency>
-
-    <dependency>
-      <groupId>velocity</groupId>
-      <artifactId>velocity</artifactId>
-      <version>1.5</version>
-      <scope>test</scope>
-    </dependency>
   </dependencies>
 
   <build>
+    <pluginManagement>
+      <plugins>
+        <plugin>
+          <!-- TODO remove once Maven parent POM will upgraded - MPOM-280 -->
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-javadoc-plugin</artifactId>
+          <version>3.3.1</version>
+          <configuration>
+            <detectLinks>false</detectLinks>
+          </configuration>
+        </plugin>
+      </plugins>
+    </pluginManagement>
     <plugins>
+      <plugin><!-- shade Xpp3DomUtils that does not require Xpp3Dom.getInputLocation(): see MSHARED-921 -->
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-shade-plugin</artifactId>
+        <version>3.2.4</version><!-- TODO remove version once parent POM upgraded to 35 -->
+        <executions>
+          <execution>
+            <phase>package</phase>
+            <goals>
+              <goal>shade</goal>
+            </goals>
+            <configuration>
+              <artifactSet>
+                <includes>
+                  <include>org.codehaus.plexus:plexus-utils</include>
+                </includes>
+              </artifactSet>
+              <filters>
+                <filter>
+                  <artifact>org.codehaus.plexus:plexus-utils</artifact>
+                  <includes>
+                    <include>org/codehaus/plexus/util/xml/Xpp3DomUtils.class</include>
+                  </includes>
+                </filter>
+              </filters>
+              <relocations>
+                <relocation>
+                  <pattern>org.codehaus.plexus.util.xml.Xpp3DomUtils</pattern>
+                  <shadedPattern>org.apache.maven.reporting.exec.xml.Xpp3DomUtils</shadedPattern>
+                </relocation>
+              </relocations>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-surefire-plugin</artifactId>
@@ -282,7 +279,6 @@
       <plugin>
         <groupId>org.codehaus.plexus</groupId>
         <artifactId>plexus-component-metadata</artifactId>
-        <version>1.7.1</version>
         <executions>
           <execution>
             <goals>
@@ -318,7 +314,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>
@@ -327,12 +322,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>


=====================================
src/it/aether/pom.xml
=====================================
@@ -36,7 +36,7 @@ under the License.
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-site-plugin</artifactId>
-        <version>3.2</version>
+        <version>@sitePluginVersion@</version>
         <dependencies>
           <dependency>
             <groupId>@project.groupId@</groupId>
@@ -53,7 +53,7 @@ under the License.
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-project-info-reports-plugin</artifactId>
-        <version>2.7</version>
+        <version>@projectInfoReportsPluginVersion@</version>
         <reportSets>
           <reportSet>
             <reports>


=====================================
src/it/forked-lifecycle/pom.xml
=====================================
@@ -36,7 +36,7 @@ under the License.
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-site-plugin</artifactId>
-        <version>3.3</version>
+        <version>@sitePluginVersion@</version>
         <dependencies>
           <dependency>
             <groupId>@project.groupId@</groupId>
@@ -53,7 +53,7 @@ under the License.
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-project-info-reports-plugin</artifactId>
-        <version>2.7</version>
+        <version>@projectInfoReportsPluginVersion@</version>
         <reportSets>
           <reportSet>
             <reports>
@@ -65,7 +65,7 @@ under the License.
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-javadoc-plugin</artifactId>
-        <version>3.0.0-M1</version>
+        <version>3.3.1</version>
       </plugin>
     </plugins>
   </reporting>


=====================================
src/it/pluginManagement_dependencies/pom.xml
=====================================
@@ -49,7 +49,7 @@ under the License.
         </plugin>
         <plugin>
           <artifactId>maven-site-plugin</artifactId>
-          <version>3.3</version>
+          <version>@sitePluginVersion@</version>
           <dependencies>
             <dependency>
               <groupId>@project.groupId@</groupId>
@@ -62,7 +62,7 @@ under the License.
     </pluginManagement>
   </build>
   <reporting>
-    <plugins> 
+    <plugins>
       <plugin>
         <artifactId>maven-checkstyle-plugin</artifactId>
         <reportSets>
@@ -73,6 +73,18 @@ under the License.
           </reportSet>
         </reportSets>
       </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-project-info-reports-plugin</artifactId>
+        <version>@projectInfoReportsPluginVersion@</version>
+        <reportSets>
+          <reportSet>
+            <reports>
+              <report>index</report>
+            </reports>
+          </reportSet>
+        </reportSets>
+      </plugin>
     </plugins>
   </reporting>
 </project>


=====================================
src/it/reportConfig/pom.xml
=====================================
@@ -42,7 +42,7 @@ under the License.
     <dependency>
       <groupId>org.apache.maven.reporting</groupId>
       <artifactId>maven-reporting-impl</artifactId>
-      <version>2.2</version>
+      <version>3.1.0</version>
     </dependency>
   </dependencies>
 
@@ -52,7 +52,7 @@ under the License.
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-site-plugin</artifactId>
-          <version>3.3</version>
+          <version>@sitePluginVersion@</version>
           <dependencies>
             <dependency>
               <groupId>@project.groupId@</groupId>
@@ -70,14 +70,14 @@ under the License.
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-project-info-reports-plugin</artifactId>
-        <version>2.7</version>
+        <version>@projectInfoReportsPluginVersion@</version>
         <reportSets>
           <reportSet>
             <reports>
               <report>index</report>
             </reports>
           </reportSet>
-        </reportSets>              
+        </reportSets>
       </plugin>
     </plugins>
   </reporting>


=====================================
src/it/reportConfig/src/main/java/org/apache/maven/shared/it/ConfigurationReport.java
=====================================
@@ -20,7 +20,6 @@ package org.apache.maven.shared.it;
  */
 
 import org.apache.maven.doxia.sink.Sink;
-import org.apache.maven.doxia.sink.SinkAdapter;
 import org.apache.maven.doxia.siterenderer.Renderer;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.reporting.AbstractMavenReport;
@@ -29,9 +28,9 @@ import org.apache.maven.reporting.MavenReportException;
 import java.util.Locale;
 
 /**
- * Report that displays effective parameter values: will be used to check how report values
+ * Report that displays effective parameter values: used to check how report values
  * are inherited/overridden from build.pluginManagement and not build.plugins.
- * 
+ *
  * @goal test
  * @phase site
  */


=====================================
src/main/java/org/apache/maven/reporting/exec/DefaultMavenPluginManagerHelper.java
=====================================
@@ -19,8 +19,6 @@ package org.apache.maven.reporting.exec;
  * under the License.
  */
 
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
 import java.util.List;
 
 import org.apache.maven.execution.MavenSession;
@@ -34,9 +32,13 @@ import org.apache.maven.plugin.descriptor.PluginDescriptor;
 import org.codehaus.plexus.component.annotations.Component;
 import org.codehaus.plexus.component.annotations.Requirement;
 import org.codehaus.plexus.logging.Logger;
+import org.eclipse.aether.RepositorySystemSession;
+import org.eclipse.aether.graph.DependencyFilter;
+import org.eclipse.aether.repository.RemoteRepository;
+import org.eclipse.aether.util.filter.ExclusionsDependencyFilter;
 
 /**
- * 
+ * <p>DefaultMavenPluginManagerHelper class.</p>
  */
 @Component( role = MavenPluginManagerHelper.class )
 public class DefaultMavenPluginManagerHelper
@@ -48,168 +50,29 @@ public class DefaultMavenPluginManagerHelper
     @Requirement
     protected MavenPluginManager mavenPluginManager;
 
-    private Boolean isEclipseAether;
-
-    private Method setupPluginRealm;
-
-    private Method getPluginDescriptor;
-
-    private Method getRepositorySession;
-
-    public DefaultMavenPluginManagerHelper()
+    private DependencyFilter createExclusionsDependencyFilter( List<String> artifactIdsList )
     {
-        try
-        {
-            for ( Method m : MavenPluginManager.class.getMethods() )
-            {
-                if ( "setupPluginRealm".equals( m.getName() ) )
-                {
-                    setupPluginRealm = m;
-                }
-                else if ( "getPluginDescriptor".equals( m.getName() ) )
-                {
-                    getPluginDescriptor = m;
-                }
-            }
-        }
-        catch ( SecurityException e )
-        {
-            logger.warn( "unable to find MavenPluginManager.setupPluginRealm() method", e );
-        }
-
-        try
-        {
-            for ( Method m : MavenSession.class.getMethods() )
-            {
-                if ( "getRepositorySession".equals( m.getName() ) )
-                {
-                    getRepositorySession = m;
-                    break;
-                }
-            }
-        }
-        catch ( SecurityException e )
-        {
-            logger.warn( "unable to find MavenSession.getRepositorySession() method", e );
-        }
-    }
-
-    private boolean isEclipseAether()
-    {
-        if ( isEclipseAether == null )
-        {
-            try
-            {
-                ClassLoader cl = Thread.currentThread().getContextClassLoader();
-                cl.loadClass( "org.sonatype.aether.graph.DependencyFilter" );
-                isEclipseAether = false;
-            }
-            catch ( ClassNotFoundException e )
-            {
-                isEclipseAether = true;
-            }
-        }
-
-        return isEclipseAether.booleanValue();
-    }
-
-    private Object createExclusionsDependencyFilter( List<String> artifactIdsList )
-    {
-        if ( isEclipseAether() )
-        {
-            return new org.eclipse.aether.util.filter.ExclusionsDependencyFilter( artifactIdsList );
-        }
-        else
-        {
-            return new org.sonatype.aether.util.filter.ExclusionsDependencyFilter( artifactIdsList );
-        }
+        return new ExclusionsDependencyFilter( artifactIdsList );
     }
 
+    /** {@inheritDoc} */
+    @Override
     public PluginDescriptor getPluginDescriptor( Plugin plugin, MavenSession session )
         throws PluginResolutionException, PluginDescriptorParsingException, InvalidPluginDescriptorException
     {
-        try
-        {
-            Object repositorySession = getRepositorySession.invoke( session );
-            List<?> remoteRepositories = session.getCurrentProject().getRemotePluginRepositories();
-
-            return (PluginDescriptor) getPluginDescriptor.invoke( mavenPluginManager, plugin, remoteRepositories,
-                                                                  repositorySession );
-        }
-        catch ( IllegalArgumentException e )
-        {
-            logger.warn( "IllegalArgumentException during MavenPluginManager.getPluginDescriptor() call", e );
-        }
-        catch ( IllegalAccessException e )
-        {
-            logger.warn( "IllegalAccessException during MavenPluginManager.getPluginDescriptor() call", e );
-        }
-        catch ( InvocationTargetException e )
-        {
-            Throwable target = e.getTargetException();
-            if ( target instanceof PluginResolutionException )
-            {
-                throw (PluginResolutionException) target;
-            }
-            if ( target instanceof PluginDescriptorParsingException )
-            {
-                throw (PluginDescriptorParsingException) target;
-            }
-            if ( target instanceof InvalidPluginDescriptorException )
-            {
-                throw (InvalidPluginDescriptorException) target;
-            }
-            if ( target instanceof RuntimeException )
-            {
-                throw (RuntimeException) target;
-            }
-            if ( target instanceof Error )
-            {
-                throw (Error) target;
-            }
-            logger.warn( "Exception during MavenPluginManager.getPluginDescriptor() call", e );
-        }
+        RepositorySystemSession repositorySystemSession = session.getRepositorySession();
+        List<RemoteRepository> remoteRepositories = session.getCurrentProject().getRemotePluginRepositories();
 
-        return null;
+        return mavenPluginManager.getPluginDescriptor( plugin, remoteRepositories, repositorySystemSession );
     }
 
+    /** {@inheritDoc} */
+    @Override
     public void setupPluginRealm( PluginDescriptor pluginDescriptor, MavenSession session, ClassLoader parent,
                                   List<String> imports, List<String> excludeArtifactIds )
         throws PluginResolutionException, PluginContainerException
     {
-        try
-        {
-            setupPluginRealm.invoke( mavenPluginManager, pluginDescriptor, session, parent, imports,
-                                     createExclusionsDependencyFilter( excludeArtifactIds ) );
-        }
-        catch ( IllegalArgumentException e )
-        {
-            logger.warn( "IllegalArgumentException during MavenPluginManager.setupPluginRealm() call", e );
-        }
-        catch ( IllegalAccessException e )
-        {
-            logger.warn( "IllegalAccessException during MavenPluginManager.setupPluginRealm() call", e );
-        }
-        catch ( InvocationTargetException e )
-        {
-            Throwable target = e.getTargetException();
-            if ( target instanceof PluginResolutionException )
-            {
-                throw (PluginResolutionException) target;
-            }
-            if ( target instanceof PluginContainerException )
-            {
-                throw (PluginContainerException) target;
-            }
-            if ( target instanceof RuntimeException )
-            {
-                throw (RuntimeException) target;
-            }
-            if ( target instanceof Error )
-            {
-                throw (Error) target;
-            }
-            logger.warn( "Exception during MavenPluginManager.setupPluginRealm() call", e );
-        }
+        mavenPluginManager.setupPluginRealm(
+            pluginDescriptor, session, parent, imports, createExclusionsDependencyFilter( excludeArtifactIds ) );
     }
 }


=====================================
src/main/java/org/apache/maven/reporting/exec/DefaultMavenReportExecutor.java
=====================================
@@ -24,6 +24,7 @@ import java.util.Arrays;
 import java.util.Collections;
 import java.util.HashSet;
 import java.util.List;
+import java.util.Objects;
 import java.util.Set;
 
 import org.apache.maven.lifecycle.LifecycleExecutor;
@@ -45,11 +46,11 @@ import org.apache.maven.plugin.version.PluginVersionResolver;
 import org.apache.maven.plugin.version.PluginVersionResult;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.reporting.MavenReport;
+import org.apache.maven.shared.utils.StringUtils;
 import org.codehaus.plexus.component.annotations.Component;
 import org.codehaus.plexus.component.annotations.Requirement;
 import org.codehaus.plexus.configuration.PlexusConfiguration;
 import org.codehaus.plexus.logging.Logger;
-import org.apache.maven.shared.utils.StringUtils;
 import org.codehaus.plexus.util.xml.Xpp3Dom;
 import org.codehaus.plexus.util.xml.Xpp3DomUtils;
 
@@ -62,6 +63,7 @@ import org.codehaus.plexus.util.xml.Xpp3DomUtils;
  * <p>
  * <b>Note</b> if no version is defined in the report plugin, the version will be searched with
  * {@link #resolvePluginVersion(ReportPlugin, MavenReportExecutorRequest) resolvePluginVersion(...)} method:
+ * </p>
  * <ol>
  * <li>use the one defined in the reportPlugin configuration,</li>
  * <li>search similar (same groupId and artifactId) plugin in the build/plugins section of the pom,</li>
@@ -69,9 +71,9 @@ import org.codehaus.plexus.util.xml.Xpp3DomUtils;
  * <li>ask {@link PluginVersionResolver} to get a fallback version (display a warning as it's not a recommended use).
  * </li>
  * </ol>
- * </p>
  * <p>
  * Following steps are done:
+ * </p>
  * <ul>
  * <li>get {@link PluginDescriptor} from the {@link MavenPluginManager} (through
  * {@link MavenPluginManagerHelper#getPluginDescriptor(Plugin, org.apache.maven.execution.MavenSession)
@@ -89,8 +91,7 @@ import org.codehaus.plexus.util.xml.Xpp3DomUtils;
  * LifecycleExecutor.calculateForkedExecutions(...)} if any forked execution is needed: if yes, execute the forked
  * execution here</li>
  * </ul>
- * </p>
- * 
+ *
  * @author Olivier Lamy
  */
 @Component( role = MavenReportExecutor.class )
@@ -116,15 +117,19 @@ public class DefaultMavenReportExecutor
                                                                "org.apache.maven.reporting.MavenMultiPageReport",
                                                                "org.apache.maven.doxia.siterenderer.Renderer",
                                                                "org.apache.maven.doxia.sink.SinkFactory",
+                                                               // TODO Will be removed with Doxia 2.0.0-M1
                                                                "org.codehaus.doxia.sink.Sink",
                                                                "org.apache.maven.doxia.sink.Sink",
                                                                "org.apache.maven.doxia.sink.SinkEventAttributes",
+                                                               // TODO Will be removed with Doxia 2.0.0-M1
                                                                "org.apache.maven.doxia.logging.LogEnabled",
+                                                               // TODO Will be removed with Doxia 2.0.0-M1
                                                                "org.apache.maven.doxia.logging.Log" );
 
     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 +139,8 @@ public class DefaultMavenReportExecutor
         }
         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 +182,11 @@ public class DefaultMavenReportExecutor
             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 +235,7 @@ public class DefaultMavenReportExecutor
             return false;
         }
 
-        Set<String> goals = new HashSet<String>();
+        Set<String> goals = new HashSet<>();
         for ( String report : reportPlugin.getReports() )
         {
             if ( goals.add( report ) )
@@ -246,7 +251,7 @@ public class DefaultMavenReportExecutor
 
         for ( ReportSet reportSet : reportPlugin.getReportSets() )
         {
-            goals = new HashSet<String>();
+            goals = new HashSet<>();
             for ( String report : reportSet.getReports() )
             {
                 if ( goals.add( report ) )
@@ -385,7 +390,7 @@ public class DefaultMavenReportExecutor
         }
         catch ( PluginContainerException e )
         {
-            /**
+            /*
              * ignore old plugin which are using removed PluginRegistry [INFO] Caused by:
              * java.lang.NoClassDefFoundError: org/apache/maven/plugin/registry/PluginRegistry
              */
@@ -549,11 +554,11 @@ public class DefaultMavenReportExecutor
      * <li>ask {@link PluginVersionResolver} to get a fallback version and display a warning as it's not a recommended
      * use.</li>
      * </ol>
-     * 
+     *
      * @param reportPlugin the report plugin to resolve the version
      * @param mavenReportExecutorRequest the current report execution context
      * @return the report plugin version
-     * @throws PluginVersionResolutionException
+     * @throws PluginVersionResolutionException on plugin version resolution issue
      */
     protected String resolvePluginVersion( ReportPlugin reportPlugin,
                                            MavenReportExecutorRequest mavenReportExecutorRequest )
@@ -635,7 +640,7 @@ public class DefaultMavenReportExecutor
 
     /**
      * Search similar (same groupId and artifactId) plugin as a given report plugin.
-     * 
+     *
      * @param reportPlugin the report plugin to search for a similar plugin
      * @param plugins the candidate plugins
      * @return the first similar plugin
@@ -648,8 +653,8 @@ public class DefaultMavenReportExecutor
         }
         for ( Plugin plugin : plugins )
         {
-            if ( StringUtils.equals( plugin.getArtifactId(), reportPlugin.getArtifactId() )
-                && StringUtils.equals( plugin.getGroupId(), reportPlugin.getGroupId() ) )
+            if ( Objects.equals( plugin.getArtifactId(), reportPlugin.getArtifactId() )
+                && Objects.equals( plugin.getGroupId(), reportPlugin.getGroupId() ) )
             {
                 return plugin;
             }
@@ -667,7 +672,7 @@ public class DefaultMavenReportExecutor
      * </ul>
      * </p>
      * The plugin could only be present in the dependency management section.
-     * 
+     *
      * @param mavenReportExecutorRequest
      * @param buildPlugin
      * @param reportPlugin


=====================================
src/main/java/org/apache/maven/reporting/exec/MavenPluginManagerHelper.java
=====================================
@@ -43,12 +43,12 @@ public interface MavenPluginManagerHelper
      * Helper for {@link org.apache.maven.plugin.MavenPluginManager#getPluginDescriptor
      * MavenPluginManager#getPluginDescriptor(Plugin, List, xxx.aether.RepositorySystemSession)}
      * 
-     * @param plugin
-     * @param session
-     * @return
-     * @throws PluginResolutionException
-     * @throws PluginDescriptorParsingException
-     * @throws InvalidPluginDescriptorException
+     * @param plugin the plugin
+     * @param session the session
+     * @return the plugin descriptor
+     * @throws PluginResolutionException on resolution issue
+     * @throws PluginDescriptorParsingException on descriptor parsing issue
+     * @throws InvalidPluginDescriptorException on invalid descriptor
      */
     PluginDescriptor getPluginDescriptor( Plugin plugin, MavenSession session )
         throws PluginResolutionException, PluginDescriptorParsingException, InvalidPluginDescriptorException;
@@ -57,13 +57,13 @@ public interface MavenPluginManagerHelper
      * Helper for {@link org.apache.maven.plugin.MavenPluginManager#setupPluginRealm
      * MavenPluginManager#setupPluginRealm(PluginDescriptor, ..., List, xxx.aether.graph.DependencyFilter)}
      * 
-     * @param pluginDescriptor
-     * @param session
-     * @param parent
-     * @param imports
-     * @param excludeArtifactIds
-     * @throws PluginResolutionException
-     * @throws PluginContainerException
+     * @param pluginDescriptor the plugin descriptor
+     * @param session the session
+     * @param parent the parent classloader
+     * @param imports classloader imports
+     * @param excludeArtifactIds artifacts excluded from classloader
+     * @throws PluginResolutionException on resolution issue
+     * @throws PluginContainerException on issue with configuration
      */
     void setupPluginRealm( PluginDescriptor pluginDescriptor, MavenSession session, ClassLoader parent,
                                   List<String> imports, List<String> excludeArtifactIds )


=====================================
src/main/java/org/apache/maven/reporting/exec/MavenReportExecution.java
=====================================
@@ -26,16 +26,16 @@ import org.apache.maven.reporting.MavenReport;
  * <p>
  *   Since Maven 3, reporting plugins (ie {@link MavenReport}s) are not anymore prepared by Maven core.
  *   This class will store all necessary information for later {@link MavenReport} generation/execution:
- *   <ul>
- *     <li>a {@link MavenReport},</li>
- *     <li>the goal name associated to the report,</li>
- *     <li>the associated {@link ClassLoader} for the report generation,</li>
- *     <li>the {@link Plugin} associated to the {@link MavenReport}.</li>
- *   </ul> 
  * </p>
+ * <ul>
+ *   <li>a {@link MavenReport},</li>
+ *   <li>the goal name associated to the report,</li>
+ *   <li>the associated {@link ClassLoader} for the report generation,</li>
+ *   <li>the {@link Plugin} associated to the {@link MavenReport}.</li>
+ * </ul> 
  * <p>
  *   With this bean, a plugin wanting to generate a report (= <i>"execute"</i> the report) has to call the
- *   {@link MavenReport#generate(org.codehaus.doxia.sink.Sink, java.util.Locale)}
+ *   {@link MavenReport#generate(org.apache.maven.doxia.sink.Sink, java.util.Locale)}
  *   method, setting the current {@link Thread} classLoader first with {@link #classLoader}.
  * </p>
  * <p>


=====================================
src/main/java/org/apache/maven/reporting/exec/MavenReportExecutor.java
=====================================
@@ -39,9 +39,9 @@ public interface MavenReportExecutor
     /**
      * Build the {@link org.apache.maven.reporting.MavenReport}s, with associated forked executions if necessary. 
      * 
-     * @param mavenReportExecutorRequest
+     * @param mavenReportExecutorRequest the request
      * @return a list or prepared Maven report executions
-     * @throws MojoExecutionException
+     * @throws MojoExecutionException on report execution issue
      */
     List<MavenReportExecution> buildMavenReports( MavenReportExecutorRequest mavenReportExecutorRequest )
         throws MojoExecutionException;


=====================================
src/main/java/org/apache/maven/reporting/exec/MavenReportExecutorRequest.java
=====================================
@@ -33,7 +33,7 @@ import org.codehaus.plexus.util.xml.Xpp3Dom;
  * the intent is to store some informations regarding the current Maven execution.
  * 
  * @author Olivier Lamy
- * @version $Id: MavenReportExecutorRequest.java 1787667 2017-03-19 22:18:45Z hboutemy $
+ * @version $Id$
  */
 public class MavenReportExecutorRequest
 {
@@ -107,7 +107,7 @@ public class MavenReportExecutorRequest
                 p.setConfiguration( new XmlPlexusConfiguration( (Xpp3Dom) r.getConfiguration() ) );
             }
 
-            List<ReportSet> prs = new ArrayList<ReportSet>();
+            List<ReportSet> prs = new ArrayList<>();
             for ( org.apache.maven.model.ReportSet rs : r.getReportSets() )
             {
                 ReportSet ps = new ReportSet();


=====================================
src/main/java/org/apache/maven/reporting/exec/ReportPlugin.java
=====================================
@@ -31,7 +31,7 @@ import org.codehaus.plexus.configuration.PlexusConfiguration;
  * some values are copied.
  * @see org.apache.maven.model.ReportPlugin
  */
-public class ReportPlugin
+class ReportPlugin
 {
     private String groupId = "org.apache.maven.plugins";
 
@@ -89,7 +89,7 @@ public class ReportPlugin
     {
         if ( this.reportSets == null )
         {
-            this.reportSets = new ArrayList<ReportSet>();
+            this.reportSets = new ArrayList<>();
         }
 
         return this.reportSets;


=====================================
src/main/java/org/apache/maven/reporting/exec/ReportSet.java
=====================================
@@ -28,7 +28,7 @@ import org.codehaus.plexus.configuration.PlexusConfiguration;
  * Represents a set of reports and a configuration to be used to generate them.
  * @see org.apache.maven.model.ReportSet
  */
-public class ReportSet
+class ReportSet
 {
 
     private String id = "default";
@@ -61,7 +61,7 @@ public class ReportSet
     {
         if ( this.reports == null )
         {
-            this.reports = new ArrayList<String>();
+            this.reports = new ArrayList<>();
         }
 
         return this.reports;


=====================================
src/site/apt/index.apt.vm
=====================================
@@ -32,16 +32,9 @@ ${project.name}
   {{{./apidocs/org/apache/maven/reporting/exec/MavenReportExecutor.html}MavenReportExecutor}}
   ({{{./apidocs/org/apache/maven/reporting/exec/DefaultMavenReportExecutor.html}implementation}}).
 
-  Since 1.4, the request can (and should) be populated from
-  {{{/ref/current/maven-model/maven.html#class_reporting}pom's <<<\<reporting\>>>> section}},
-  injected in Mojo parameter as <<<$\{project.reporting.plugins\}>>> default value:
-
-+----+
-    @Parameter( defaultValue = "${esc.d}{project.reporting.plugins}", readonly = true )
-    private org.apache.maven.model.ReportPlugin[] reportingPlugins;
-+----+
+  Contrary to Maven 2.x:
 
-  Contrary to Maven 2.x, report <<<\<version\>>>> explicit definition is optional:
+  [[1]] report <<<\<version\>>>> explicit definition is optional:\
   if no version is specified for a report plugin, version is determined by
 
     [[1]] searching for the plugin in the <<<build/plugins>>> section of the pom,
@@ -49,18 +42,29 @@ ${project.name}
     [[2]] searching for the plugin in the <<<build/pluginManagement>>> section of the pom,
 
     [[3]] asking {{{/ref/current/maven-core/apidocs/org/apache/maven/plugin/version/PluginVersionResolver.html}PluginVersionResolver}}
-    to get a fallback version and display a warning as it's not a recommended use.
+    to get a fallback version and display a warning as it's not a recommended use,
 
     []
 
-  Since <<<maven-reporting-exec>>> 1.2 (which is used by <<<maven-site-plugin>>> 3.4), plugin configuration in
-  <<<build/pluginManagement>>> is also injected into reports.
+  [[2]] plugin configuration from <<<build/pluginManagement>>> is injected into <<<reporting/plugins>>>
+  (since Maven Reporting Executor 1.2, which is {{{/plugins/maven-site-plugin/history.html}used by Maven Site Plugin 3.4}}).
+
+  []
 
 * Notice on now obsolete reportPlugin format
 
+  Since 1.4 (used by Maven Site Plugin 3.7), the request can (and should) be populated from
+  {{{/ref/current/maven-model/maven.html#class_reporting}pom's <<<\<reporting.plugins\>>>> section}},
+  injected in Mojo parameter as <<<$\{project.reporting.plugins\}>>> default value:
+
++----+
+    @Parameter( defaultValue = "${esc.d}{project.reporting.plugins}", readonly = true )
+    private org.apache.maven.model.ReportPlugin[] reportingPlugins;
++----+
+
   This section is kept to explain what happened in previous releases of the component, but this approach has been
   abandonned so far after discovering major limitations: see
-  {{{/plugins/maven-site-plugin/maven-3.html#New_Configuration_Maven_3_only_no_reports_configuration_inheritance}Maven Site Plugin documentation}}
+  {{{/plugins-archives/maven-site-plugin-3.9.0/maven-3.html#New_Configuration_Maven_3_only_no_reports_configuration_inheritance}Maven Site Plugin 3.9.0 documentation}}
   for more details.
 
   Report plugins can be configured in <<<\<configuration\>>>> element of <<<maven-site-plugin>>> or any other


=====================================
src/site/xdoc/download.xml.vm
=====================================
@@ -34,7 +34,7 @@ under the License.
 
       <p>In order to guard against corrupted downloads/installations, it is highly recommended to
       <a href="http://www.apache.org/dev/release-signing#verifying-signature">verify the signature</a>
-      of the release bundles against the public <a href="http://www.apache.org/dist/maven/KEYS">KEYS</a> used by the Apache Maven
+      of the release bundles against the public <a href="https://www.apache.org/dist/maven/KEYS">KEYS</a> used by the Apache Maven
       developers.</p>
 
       <p>${project.name} is distributed under the <a href="http://www.apache.org/licenses/">Apache License, version 2.0</a>.</p>
@@ -108,8 +108,8 @@ under the License.
           <tr>
             <td>${project.name} ${project.version} (Source zip)</td>
             <td><a href="[preferred]maven/reporting/${project.artifactId}-${project.version}-source-release.zip">maven/reporting/${project.artifactId}-${project.version}-source-release.zip</a></td>
-            <td><a href="http://www.apache.org/dist/maven/reporting/${project.artifactId}-${project.version}-source-release.zip.md5">maven/reporting/${project.artifactId}-${project.version}-source-release.zip.md5</a></td>
-            <td><a href="http://www.apache.org/dist/maven/reporting/${project.artifactId}-${project.version}-source-release.zip.asc">maven/reporting/${project.artifactId}-${project.version}-source-release.zip.asc</a></td>
+            <td><a href="https://www.apache.org/dist/maven/reporting/${project.artifactId}-${project.version}-source-release.zip.sha512">maven/reporting/${project.artifactId}-${project.version}-source-release.zip.sha512</a></td>
+            <td><a href="https://www.apache.org/dist/maven/reporting/${project.artifactId}-${project.version}-source-release.zip.asc">maven/reporting/${project.artifactId}-${project.version}-source-release.zip.asc</a></td>
           </tr>
         </tbody>
       </table>


=====================================
src/test/java/org/apache/maven/reporting/exec/TestDefaultMavenReportExecutor.java
=====================================
@@ -19,7 +19,6 @@ package org.apache.maven.reporting.exec;
  * under the License.
  */
 
-import com.google.common.collect.Lists;
 import org.apache.maven.DefaultMaven;
 import org.apache.maven.Maven;
 import org.apache.maven.RepositoryUtils;
@@ -38,22 +37,26 @@ import org.apache.maven.model.PluginManagement;
 import org.apache.maven.plugin.testing.stubs.MavenProjectStub;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.repository.RepositorySystem;
+import org.apache.maven.settings.Mirror;
 import org.apache.maven.settings.Settings;
 import org.apache.maven.settings.building.DefaultSettingsBuildingRequest;
 import org.apache.maven.settings.building.SettingsBuilder;
 import org.apache.maven.settings.building.SettingsBuildingException;
 import org.apache.maven.settings.building.SettingsBuildingRequest;
+import org.codehaus.plexus.ContainerConfiguration;
+import org.codehaus.plexus.PlexusConstants;
 import org.codehaus.plexus.PlexusTestCase;
 import org.codehaus.plexus.classworlds.realm.ClassRealm;
 import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
 import org.codehaus.plexus.logging.Logger;
-import org.sonatype.aether.RepositorySystemSession;
-import org.sonatype.aether.artifact.Artifact;
-import org.sonatype.aether.repository.RemoteRepository;
-import org.sonatype.aether.repository.WorkspaceReader;
-import org.sonatype.aether.repository.WorkspaceRepository;
+import org.eclipse.aether.RepositorySystemSession;
+import org.eclipse.aether.artifact.Artifact;
+import org.eclipse.aether.repository.RemoteRepository;
+import org.eclipse.aether.repository.WorkspaceReader;
+import org.eclipse.aether.repository.WorkspaceRepository;
 
 import java.io.File;
+import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
 
@@ -63,6 +66,12 @@ import java.util.List;
 public class TestDefaultMavenReportExecutor
     extends PlexusTestCase
 {
+    @Override
+    protected void customizeContainerConfiguration( @SuppressWarnings( "unused" ) final ContainerConfiguration configuration )
+    {
+        super.customizeContainerConfiguration( configuration );
+        configuration.setAutoWiring( true ).setClassPathScanning( PlexusConstants.SCANNING_CACHE );
+    }
 
     MavenExecutionRequest request = null;
 
@@ -155,7 +164,7 @@ public class TestDefaultMavenReportExecutor
 
             MavenSession mavenSession = getMavenSession( getLocalArtifactRepository(), mavenProject );
             mavenSession.setCurrentProject( mavenProject );
-            mavenSession.setProjects( Lists.<MavenProject>newArrayList( mavenProject ) );
+            mavenSession.setProjects( Arrays.asList( mavenProject ) );
             mavenReportExecutorRequest.setMavenSession( mavenSession );
 
             ReportPlugin reportPlugin = new ReportPlugin();
@@ -168,7 +177,7 @@ public class TestDefaultMavenReportExecutor
                 reportPlugin.getReportSets().add( reportSet );
             }
 
-            List<ReportPlugin> reportPlugins = Lists.newArrayList( reportPlugin );
+            List<ReportPlugin> reportPlugins = Arrays.asList( reportPlugin );
 
             mavenReportExecutorRequest.setReportPlugins( reportPlugins.toArray( new ReportPlugin[1] ) );
 
@@ -190,16 +199,19 @@ public class TestDefaultMavenReportExecutor
 
         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();
@@ -207,6 +219,12 @@ public class TestDefaultMavenReportExecutor
         } );
         final Settings settings = getSettings();
 
+        Mirror centralMirror = new Mirror();
+        centralMirror.setId("httpsCentral");
+        centralMirror.setMirrorOf( "central" );
+        centralMirror.setUrl( "https://repo.maven.apache.org/maven2" );
+        request.setMirrors( Collections.singletonList( centralMirror ) );
+
         getContainer().lookup( MavenExecutionRequestPopulator.class ).populateFromSettings( request, settings );
 
         getContainer().lookup( MavenExecutionRequestPopulator.class ).populateDefaults( request );
@@ -224,7 +242,7 @@ public class TestDefaultMavenReportExecutor
 
         RepositorySystemSession repositorySystemSession = buildRepositorySystemSession( request );
 
-        MavenSession mavenSession = new MavenSession( getContainer(), repositorySystemSession, request, result )
+        return new MavenSession( getContainer(), repositorySystemSession, request, result )
         {
             @Override
             public MavenProject getTopLevelProject()
@@ -241,7 +259,7 @@ public class TestDefaultMavenReportExecutor
             @Override
             public List<MavenProject> getProjects()
             {
-                return Lists.newArrayList( mavenProject );
+                return Arrays.asList( mavenProject );
             }
 
             @Override
@@ -251,7 +269,6 @@ public class TestDefaultMavenReportExecutor
             }
 
         };
-        return mavenSession;
     }
 
     private ArtifactRepository getLocalArtifactRepository()
@@ -280,10 +297,8 @@ public class TestDefaultMavenReportExecutor
 
         settingsBuildingRequest.getSystemProperties().putAll( System.getProperties() );
 
-        Settings settings =
-            getContainer().lookup( SettingsBuilder.class ).build( settingsBuildingRequest ).getEffectiveSettings();
-
-        return settings;
+        return getContainer().lookup( SettingsBuilder.class )
+                .build( settingsBuildingRequest ).getEffectiveSettings();
 
     }
 
@@ -332,13 +347,13 @@ public class TestDefaultMavenReportExecutor
             @Override
             public List<String> getCompileSourceRoots()
             {
-                return Lists.newArrayList( "src/main/java" );
+                return Arrays.asList( "src/main/java" );
             }
 
             @Override
             public List<String> getTestCompileSourceRoots()
             {
-                return Lists.newArrayList( "src/test/java" );
+                return Arrays.asList( "src/test/java" );
             }
         };
 



View it on GitLab: https://salsa.debian.org/java-team/maven-reporting-exec/-/compare/50dabeec2890018fbf048649baf87c39b9789dfe...2965869b3d6570631c2a2844004da9e719808eb5

-- 
View it on GitLab: https://salsa.debian.org/java-team/maven-reporting-exec/-/compare/50dabeec2890018fbf048649baf87c39b9789dfe...2965869b3d6570631c2a2844004da9e719808eb5
You're receiving this email because of your account on salsa.debian.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-java-commits/attachments/20230109/3f6cca8e/attachment.htm>


More information about the pkg-java-commits mailing list