[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/)
+======================
+
+[][jira]
+[][license]
+[](https://search.maven.org/artifact/org.apache.maven.reporting/maven-reporting-exec)
+[](https://github.com/jvm-repo-rebuild/reproducible-central#org.apache.maven.reporting:maven-reporting-exec)
+[][build]
+[][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