Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package maven-reporting-api for
openSUSE:Factory checked in at 2026-11-03 17:58:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/maven-reporting-api (Old)
and /work/SRC/openSUSE:Factory/.maven-reporting-api.new.1257 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "maven-reporting-api"
Tue Nov 3 17:58:42 2026 rev:7 rq:1394621 version:4.1.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/maven-reporting-api/maven-reporting-api.changes
2024-10-16 23:47:42.431370586 +0200
+++
/work/SRC/openSUSE:Factory/.maven-reporting-api.new.1257/maven-reporting-api.changes
2026-11-03 18:00:13.655035741 +0100
@@ -1,0 +2,37 @@
+Wed Oct 28 06:14:09 UTC 2026 - Fridrich Strba <[email protected]>
+
+- Upgrade to upstream version 4.1.0
+ * Deprecated
+ + Move the multi-page generate method into MavenReport
+ * New features and improvements
+ + Move the multi-page generate method into MavenReport
+ * Documentation updates
+ + Refresh the README and Javadoc, and add contributor, security
+ and agent guides
+ + Fix download links
+ * Maintenance
+ + Use push for PR Automation and add PR Check
+ + Add project metadata for ATR
+ + Simplify _extends in release-drafter.yml
+ + Let Dependabot update GitHub Actions
+ + Update site descriptor to 2.0
+ + Add tag-template to release-drafter.yml, fix _extends pth
+ + feat: enable prevent branch protection rules
+ + Enable Github Issue
+ + MSHARED-1325: Refresh download page
+ * Build
+ + Verify with Maven 4 too
+ * Dependency updates
+ + Bump org.apache.maven.doxia:doxia-sink-api from 2.0.0 to 2.2.0
+ + Bump org.apache.maven.shared:maven-shared-components from 43
+ to 50
+ + Bump apache/maven-gh-actions-shared/.github/workflows/
+ /release-drafter.yml from 4 to 5
+ + Bump apache/maven-gh-actions-shared/.github/workflows/
+ /pr-automation.yml from 4 to 5
+ + Bump apache/maven-gh-actions-shared/.github/workflows/
+ /maven-verify.yml from 4 to 5
+ + Bump apache/maven-gh-actions-shared/.github/workflows/
+ /stale.yml from 4 to 5
+
+-------------------------------------------------------------------
Old:
----
maven-reporting-api-4.0.0.tar.xz
New:
----
_scmsync.obsinfo
build.specials.obscpio
maven-reporting-api-4.1.0.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ maven-reporting-api.spec ++++++
--- /var/tmp/diff_new_pack.ROtkZY/_old 2026-11-03 18:00:15.230102369 +0100
+++ /var/tmp/diff_new_pack.ROtkZY/_new 2026-11-03 18:00:15.232102453 +0100
@@ -17,7 +17,7 @@
Name: maven-reporting-api
-Version: 4.0.0
+Version: 4.1.0
Release: 0
Summary: API to manage report generation
License: Apache-2.0
++++++ _scmsync.obsinfo ++++++
mtime: 1793168428
commit: da876a07c5eb3af83a64286acce455cbcf1ea47f684a65d8ab8cf672f0b45314
url: https://src.opensuse.org/java-packages/maven-reporting-api
revision: da876a07c5eb3af83a64286acce455cbcf1ea47f684a65d8ab8cf672f0b45314
projectscmsync: https://src.opensuse.org/java-packages/_ObsPrj
++++++ _service ++++++
--- /var/tmp/diff_new_pack.ROtkZY/_old 2026-11-03 18:00:15.356107699 +0100
+++ /var/tmp/diff_new_pack.ROtkZY/_new 2026-11-03 18:00:15.360107868 +0100
@@ -2,7 +2,7 @@
<service name="tar_scm" mode="disabled">
<param name="scm">git</param>
<param
name="url">https://github.com/apache/maven-reporting-api.git</param>
- <param name="revision">maven-reporting-api-4.0.0</param>
+ <param name="revision">maven-reporting-api-4.1.0</param>
<param name="match-tag">maven-reporting-api-*</param>
<param name="versionformat">@PARENT_TAG@</param>
<param
name="versionrewrite-pattern">maven-reporting-api-(.*)</param>
++++++ build.specials.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/.gitignore new/.gitignore
--- old/.gitignore 1970-01-01 01:00:00.000000000 +0100
+++ new/.gitignore 2026-10-28 07:20:28.000000000 +0100
@@ -0,0 +1 @@
+.osc
++++++ maven-reporting-api-4.0.0.tar.xz -> maven-reporting-api-4.1.0.tar.xz
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/maven-reporting-api-4.0.0/.asf.yaml
new/maven-reporting-api-4.1.0/.asf.yaml
--- old/maven-reporting-api-4.0.0/.asf.yaml 2024-10-01 17:35:08.000000000
+0200
+++ new/maven-reporting-api-4.1.0/.asf.yaml 2026-10-23 21:46:49.000000000
+0200
@@ -23,14 +23,52 @@
- build-management
- maven-shared
- maven
+ protected_branches:
+ master: { }
+ pull_requests:
+ del_branch_on_merge: true
enabled_merge_buttons:
squash: true
merge: false
rebase: true
autolink_jira:
- MSHARED
+ features:
+ issues: true
notifications:
commits: [email protected]
issues: [email protected]
pullrequests: [email protected]
- jira_options: link label comment
+
+# https://releases.apache.org/projects/maven-reporting-api
+project:
+ metadata:
+ key: maven-reporting-api
+ committee: maven
+ name: Apache Maven Reporting API
+ description: API to manage report generation.
+ homepage: https://maven.apache.org/shared/maven-reporting-api/
+ download_page:
https://maven.apache.org/shared/maven-reporting-api/download.cgi
+ bug_database:
https://maven.apache.org/shared/maven-reporting-api/issue-management.html
+ mailing_lists:
https://maven.apache.org/shared/maven-reporting-api/mailing-lists.html
+ repositories:
+ - https://github.com/apache/maven-reporting-api
+ categories:
+ - build-management
+ programming_languages:
+ - Java
+ policy:
+ announce_release_template_url:
https://maven.apache.org/atr/templates/announce_release_template.txt
+ start_vote_template_url:
https://maven.apache.org/atr/templates/start_vote_template.txt
+ finish_vote_template_url:
https://maven.apache.org/atr/templates/finish_vote_template.txt
+ github_repository_name: maven-reporting-api
+ download_path_suffix: reporting
+ vote_recipients:
+ to: [email protected]
+ announce_recipients:
+ to: [email protected]
+ cc:
+ - [email protected]
+ - [email protected]
+ features:
+ atr_sync: true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/maven-reporting-api-4.0.0/.github/ISSUE_TEMPLATE/BUG.yml
new/maven-reporting-api-4.1.0/.github/ISSUE_TEMPLATE/BUG.yml
--- old/maven-reporting-api-4.0.0/.github/ISSUE_TEMPLATE/BUG.yml
1970-01-01 01:00:00.000000000 +0100
+++ new/maven-reporting-api-4.1.0/.github/ISSUE_TEMPLATE/BUG.yml
2026-10-23 21:46:49.000000000 +0200
@@ -0,0 +1,48 @@
+#
+# 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.
+#
+
+#
https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-githubs-form-schema
+
+name: Bug Report
+description: File a bug report
+labels: ["bug"]
+
+body:
+ - type: markdown
+ attributes:
+ value: |
+ Thanks for taking the time to fill out this bug report.
+
+ Simple fixes in single PRs do not require issues.
+
+ **Do you use the latest project version?**
+
+ - type: input
+ id: version
+ attributes:
+ label: Affected version
+ validations:
+ required: true
+
+ - type: textarea
+ id: message
+ attributes:
+ label: Bug description
+ validations:
+ required: true
+
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/maven-reporting-api-4.0.0/.github/ISSUE_TEMPLATE/FEATURE.yml
new/maven-reporting-api-4.1.0/.github/ISSUE_TEMPLATE/FEATURE.yml
--- old/maven-reporting-api-4.0.0/.github/ISSUE_TEMPLATE/FEATURE.yml
1970-01-01 01:00:00.000000000 +0100
+++ new/maven-reporting-api-4.1.0/.github/ISSUE_TEMPLATE/FEATURE.yml
2026-10-23 21:46:49.000000000 +0200
@@ -0,0 +1,35 @@
+#
+# 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.
+#
+
+#
https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-githubs-form-schema
+
+name: Feature request
+description: File a proposal for new feature, improvement
+labels: ["enhancement"]
+
+body:
+ - type: markdown
+ attributes:
+ value: |
+ Thanks for taking the time to fill out this new feature, improvement
proposal.
+
+ - type: textarea
+ id: message
+ attributes:
+ label: New feature, improvement proposal
+ validations:
+ required: true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/maven-reporting-api-4.0.0/.github/ISSUE_TEMPLATE/config.yml
new/maven-reporting-api-4.1.0/.github/ISSUE_TEMPLATE/config.yml
--- old/maven-reporting-api-4.0.0/.github/ISSUE_TEMPLATE/config.yml
1970-01-01 01:00:00.000000000 +0100
+++ new/maven-reporting-api-4.1.0/.github/ISSUE_TEMPLATE/config.yml
2026-10-23 21:46:49.000000000 +0200
@@ -0,0 +1,26 @@
+#
+# 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.
+#
+
+#
https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository#configuring-the-template-chooser
+
+blank_issues_enabled: false
+
+contact_links:
+
+ - name: Project Mailing Lists
+ url: https://maven.apache.org/mailing-lists.html
+ about: Please ask a question or discuss here
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/maven-reporting-api-4.0.0/.github/dependabot.yml
new/maven-reporting-api-4.1.0/.github/dependabot.yml
--- old/maven-reporting-api-4.0.0/.github/dependabot.yml 2024-10-01
17:35:08.000000000 +0200
+++ new/maven-reporting-api-4.1.0/.github/dependabot.yml 2026-10-23
21:46:49.000000000 +0200
@@ -20,3 +20,8 @@
directory: "/"
schedule:
interval: daily
+
+- package-ecosystem: github-actions
+ directory: "/"
+ schedule:
+ interval: daily
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/maven-reporting-api-4.0.0/.github/pull_request_template.md
new/maven-reporting-api-4.1.0/.github/pull_request_template.md
--- old/maven-reporting-api-4.0.0/.github/pull_request_template.md
1970-01-01 01:00:00.000000000 +0100
+++ new/maven-reporting-api-4.1.0/.github/pull_request_template.md
2026-10-23 21:46:49.000000000 +0200
@@ -0,0 +1,11 @@
+
+<!-- Add your description here... what, why and how you resolve the issue -->
+
+---
+
+To make clear that you license your contribution under
+the [Apache License Version 2.0, January
2004](https://www.apache.org/licenses/LICENSE-2.0)
+check one of the following:
+
+- [ ] I hereby declare this contribution to be licensed under the [Apache
License Version 2.0, January 2004](https://www.apache.org/licenses/LICENSE-2.0)
+- [ ] I hereby declare that I have filed an [Apache Individual Contributor
License Agreement](https://www.apache.org/licenses/icla.pdf).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/maven-reporting-api-4.0.0/.github/release-drafter.yml
new/maven-reporting-api-4.1.0/.github/release-drafter.yml
--- old/maven-reporting-api-4.0.0/.github/release-drafter.yml 1970-01-01
01:00:00.000000000 +0100
+++ new/maven-reporting-api-4.1.0/.github/release-drafter.yml 2026-10-23
21:46:49.000000000 +0200
@@ -0,0 +1,19 @@
+# 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.
+
+_extends: maven-gh-actions-shared
+tag-template: maven-reporting-api-$RESOLVED_VERSION
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/maven-reporting-api-4.0.0/.github/workflows/maven-verify.yml
new/maven-reporting-api-4.1.0/.github/workflows/maven-verify.yml
--- old/maven-reporting-api-4.0.0/.github/workflows/maven-verify.yml
2024-10-01 17:35:08.000000000 +0200
+++ new/maven-reporting-api-4.1.0/.github/workflows/maven-verify.yml
2026-10-23 21:46:49.000000000 +0200
@@ -24,4 +24,9 @@
jobs:
build:
name: Verify
- uses: apache/maven-gh-actions-shared/.github/workflows/maven-verify.yml@v4
+ uses: apache/maven-gh-actions-shared/.github/workflows/maven-verify.yml@v5
+ with:
+ maven4-enabled: true
+ # no run-its profile here; Maven 4 refuses a profile that does not
exist, Maven 3 only warned
+ ff-goal: verify
+ verify-goal: verify
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/maven-reporting-api-4.0.0/.github/workflows/pr-automation.yml
new/maven-reporting-api-4.1.0/.github/workflows/pr-automation.yml
--- old/maven-reporting-api-4.0.0/.github/workflows/pr-automation.yml
1970-01-01 01:00:00.000000000 +0100
+++ new/maven-reporting-api-4.1.0/.github/workflows/pr-automation.yml
2026-10-23 21:46:49.000000000 +0200
@@ -0,0 +1,27 @@
+# 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: PR Automation
+on:
+ push:
+ branches:
+ - master
+
+jobs:
+ pr-automation:
+ name: PR Automation
+ uses: apache/maven-gh-actions-shared/.github/workflows/pr-automation.yml@v5
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/maven-reporting-api-4.0.0/.github/workflows/pr-check.yml
new/maven-reporting-api-4.1.0/.github/workflows/pr-check.yml
--- old/maven-reporting-api-4.0.0/.github/workflows/pr-check.yml
1970-01-01 01:00:00.000000000 +0100
+++ new/maven-reporting-api-4.1.0/.github/workflows/pr-check.yml
2026-10-23 21:46:49.000000000 +0200
@@ -0,0 +1,27 @@
+# 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: PR Check
+
+on:
+ workflow_run:
+ workflows: [PR Signal]
+ types: [completed]
+
+jobs:
+ pr-check:
+ uses: apache/maven-gh-actions-shared/.github/workflows/pr-check.yml@v5
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/maven-reporting-api-4.0.0/.github/workflows/pr-signal.yml
new/maven-reporting-api-4.1.0/.github/workflows/pr-signal.yml
--- old/maven-reporting-api-4.0.0/.github/workflows/pr-signal.yml
1970-01-01 01:00:00.000000000 +0100
+++ new/maven-reporting-api-4.1.0/.github/workflows/pr-signal.yml
2026-10-23 21:46:49.000000000 +0200
@@ -0,0 +1,33 @@
+# 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.
+
+# signal events on PR, will be used by other workflows to trigger actions on PR
+# by the workflow_run
+
+name: PR Signal
+
+on:
+ pull_request:
+ types:
+ - edited
+ - opened
+ - reopened
+ - synchronize
+
+jobs:
+ pr-signal:
+ uses: apache/maven-gh-actions-shared/.github/workflows/pr-signal.yml@v5
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/maven-reporting-api-4.0.0/.github/workflows/release-drafter.yml
new/maven-reporting-api-4.1.0/.github/workflows/release-drafter.yml
--- old/maven-reporting-api-4.0.0/.github/workflows/release-drafter.yml
1970-01-01 01:00:00.000000000 +0100
+++ new/maven-reporting-api-4.1.0/.github/workflows/release-drafter.yml
2026-10-23 21:46:49.000000000 +0200
@@ -0,0 +1,27 @@
+# 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: Release Drafter
+on:
+ push:
+ branches:
+ - master
+ workflow_dispatch:
+
+jobs:
+ update_release_draft:
+ uses:
apache/maven-gh-actions-shared/.github/workflows/release-drafter.yml@v5
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/maven-reporting-api-4.0.0/.github/workflows/stale.yml
new/maven-reporting-api-4.1.0/.github/workflows/stale.yml
--- old/maven-reporting-api-4.0.0/.github/workflows/stale.yml 1970-01-01
01:00:00.000000000 +0100
+++ new/maven-reporting-api-4.1.0/.github/workflows/stale.yml 2026-10-23
21:46:49.000000000 +0200
@@ -0,0 +1,28 @@
+# 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: Stale
+
+on:
+ schedule:
+ - cron: '16 1 * * *'
+ issue_comment:
+ types: [ 'created' ]
+
+jobs:
+ stale:
+ uses: 'apache/maven-gh-actions-shared/.github/workflows/stale.yml@v5'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/maven-reporting-api-4.0.0/AGENTS.md
new/maven-reporting-api-4.1.0/AGENTS.md
--- old/maven-reporting-api-4.0.0/AGENTS.md 1970-01-01 01:00:00.000000000
+0100
+++ new/maven-reporting-api-4.1.0/AGENTS.md 2026-10-23 21:46:49.000000000
+0200
@@ -0,0 +1,53 @@
+<!---
+ 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.
+-->
+
+# Agent guide for maven-reporting-api
+
+This file is read by automated agents (security scanners, code
+analyzers, AI assistants) operating on this repository.
+
+## Security
+
+Security model: [SECURITY.md](./SECURITY.md)
+
+Agents that scan this repository should consult `SECURITY.md` and the
+threat model it links before reporting issues.
+
+## Compatibility
+
+This artifact is an API that every Maven report plugin implements, and the
+Maven Site Plugin calls. Binary compatibility matters more than anything else:
+
+- Never add an abstract method to `MavenReport` or `MavenReportRenderer`. A new
+ method must be a `default` method that keeps existing implementations
working;
+ `generate(Sink, SinkFactory, Locale)` delegating to `generate(Sink, Locale)`
is
+ the pattern.
+- Never make two methods defaults that call each other. A report that overrides
+ neither compiles cleanly and fails with `StackOverflowError` at run time.
This
+ is why `getOutputName()` and `generate(Sink, Locale)` stay abstract
+ (#91, #92, fixed by #95 and #96).
+- Check a change against the downstream modules: `AbstractMavenReport` in
+ maven-reporting-impl, `ReportDocumentRenderer` in maven-site-plugin, and
+ maven-reporting-exec.
+
+## Coding
+
+Use test-first programming. Before fixing a bug or implementing a feature,
+write a test that exposes the bug and verify the test fails.
+
+The bytecode floor is Java 8. Before submitting a PR, run `mvn spotless:apply`
+to format the files, then `mvn verify`. Run Spotless with JDK 17 or 21.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/maven-reporting-api-4.0.0/CONTRIBUTING.md
new/maven-reporting-api-4.1.0/CONTRIBUTING.md
--- old/maven-reporting-api-4.0.0/CONTRIBUTING.md 1970-01-01
01:00:00.000000000 +0100
+++ new/maven-reporting-api-4.1.0/CONTRIBUTING.md 2026-10-23
21:46:49.000000000 +0200
@@ -0,0 +1,26 @@
+<!---
+ 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
+
+Read the [Maven developer
guide](https://maven.apache.org/guides/development/guide-maven-development.html)
+before your first pull request. For this repository:
+
+- Report bugs in [GitHub
Issues](https://github.com/apache/maven-reporting-api/issues);
+ report security issues privately as [SECURITY.md](SECURITY.md) describes.
+- Discuss new features and API changes on the [dev mailing
list](https://maven.apache.org/mailing-lists.html) first.
+- Run `mvn spotless:apply` and `mvn verify` before you push.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/maven-reporting-api-4.0.0/LICENSE
new/maven-reporting-api-4.1.0/LICENSE
--- old/maven-reporting-api-4.0.0/LICENSE 1970-01-01 01:00:00.000000000
+0100
+++ new/maven-reporting-api-4.1.0/LICENSE 2026-10-23 21:46:49.000000000
+0200
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed 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.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/maven-reporting-api-4.0.0/README.md
new/maven-reporting-api-4.1.0/README.md
--- old/maven-reporting-api-4.0.0/README.md 2024-10-01 17:35:08.000000000
+0200
+++ new/maven-reporting-api-4.1.0/README.md 2026-10-23 21:46:49.000000000
+0200
@@ -14,87 +14,56 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-Contributing to [Apache Maven Reporting
API](https://maven.apache.org.reporting/maven-reporting-api/)
-======================
-[][jira]
-[][license]
-[](https://search.maven.org/artifact/org.apache.maven.reporting/maven-reporting-api)
-[](https://github.com/jvm-repo-rebuild/reproducible-central/blob/master/content/org/apache/maven/reporting/maven-reporting-api/README.md)
-[][build]
-[][test-results]
+# Apache Maven Reporting API
+[](https://www.apache.org/licenses/LICENSE-2.0)
+[](https://central.sonatype.com/artifact/org.apache.maven.reporting/maven-reporting-api)
+[](https://github.com/jvm-repo-rebuild/reproducible-central/blob/master/content/org/apache/maven/reporting/maven-reporting-api/README.md)
+[](https://github.com/apache/maven-reporting-api/actions/workflows/maven-verify.yml)
-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.
+The contract between the [Maven Site
Plugin](https://maven.apache.org/plugins/maven-site-plugin/)
+and every report plugin. A report implements `MavenReport` to declare its name,
+category and output path, and to render itself into a Doxia `Sink`; the site
+plugin calls it and decorates the result with the site skin.
+
+Report plugins usually extend `AbstractMavenReport` from
+[Maven Reporting
Implementation](https://maven.apache.org/shared/maven-reporting-impl/)
+instead of implementing this API directly.
+
+- Documentation: <https://maven.apache.org/shared/maven-reporting-api/>
+- Issues: <https://github.com/apache/maven-reporting-api/issues>
+- Security reports: see [SECURITY.md](SECURITY.md); never a public issue
+- Contributing: see [CONTRIBUTING.md](CONTRIBUTING.md)
+
+## What this is
+
+The artifact holds four types and depends only on `doxia-sink-api`:
+
+| Type | Role |
+|---|---|
+| `MavenReport` | The report contract the site plugin calls |
+| `MavenReportRenderer` | Renders one report page |
+| `MavenReportException` | The checked exception a report throws |
+| `MavenMultiPageReport` | Deprecated since 4.1.0; use
`MavenReport.generate(Sink, SinkFactory, Locale)` |
+
+Where it sits:
+
+```text
+doxia-sink-api
+ └─ maven-reporting-api (this repository)
+ ├─ maven-reporting-impl AbstractMavenReport, which report plugins
extend
+ ├─ maven-reporting-exec finds and configures report plugins for the
site
+ └─ maven-site-plugin calls MavenReport and renders the pages
```
-[MSHARED-XXX] - Subject of the JIRA Ticket
- Optional supplemental description.
+
+Every report plugin implements this API, so a new method must be a `default`
+method, never abstract. Releases follow Doxia and come before
+[Maven Reporting Exec](https://maven.apache.org/shared/maven-reporting-exec/),
+Maven Reporting Implementation and the Maven Site Plugin.
+
+## Build
+
+```shell
+mvn verify
```
-+ 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-api/job/master/lastCompletedBuild/testReport/
-[build]:
https://ci-maven.apache.org/job/Maven/job/maven-box/job/maven-reporting-api/job/master/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/maven-reporting-api-4.0.0/SECURITY.md
new/maven-reporting-api-4.1.0/SECURITY.md
--- old/maven-reporting-api-4.0.0/SECURITY.md 1970-01-01 01:00:00.000000000
+0100
+++ new/maven-reporting-api-4.1.0/SECURITY.md 2026-10-23 21:46:49.000000000
+0200
@@ -0,0 +1,30 @@
+<!---
+ 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.
+-->
+
+# Security policy
+
+## Report a vulnerability
+
+`apache/maven-reporting-api` follows the [Apache Software Foundation security
process](https://www.apache.org/security/).
+Report suspected vulnerabilities privately to `[email protected]`; do not
open public
+GitHub issues or pull requests for security reports.
+
+## Threat model
+
+What the project treats as in scope and out of scope, the security
+properties it provides and disclaims, the adversary model, and how
+findings are triaged are documented in
<https://github.com/apache/maven/blob/master/THREAT_MODEL.md>.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/maven-reporting-api-4.0.0/pom.xml
new/maven-reporting-api-4.1.0/pom.xml
--- old/maven-reporting-api-4.0.0/pom.xml 2024-10-01 17:35:08.000000000
+0200
+++ new/maven-reporting-api-4.1.0/pom.xml 2026-10-23 21:46:49.000000000
+0200
@@ -23,13 +23,13 @@
<parent>
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-shared-components</artifactId>
- <version>43</version>
+ <version>50</version>
<relativePath />
</parent>
<groupId>org.apache.maven.reporting</groupId>
<artifactId>maven-reporting-api</artifactId>
- <version>4.0.0</version>
+ <version>4.1.0</version>
<name>Apache Maven Reporting API</name>
<description>API to manage report generation.</description>
@@ -37,12 +37,12 @@
<scm>
<connection>scm:git:https://gitbox.apache.org/repos/asf/maven-reporting-api.git</connection>
<developerConnection>scm:git:https://gitbox.apache.org/repos/asf/maven-reporting-api.git</developerConnection>
- <tag>maven-reporting-api-4.0.0</tag>
+ <tag>maven-reporting-api-4.1.0</tag>
<url>https://github.com/apache/maven-reporting-api/tree/${project.scm.tag}</url>
</scm>
<issueManagement>
- <system>jira</system>
-
<url>https://issues.apache.org/jira/issues/?jql=project%20%3D%20MSHARED%20AND%20component%20%3D%20maven-reporting-api</url>
+ <system>GitHub Issues</system>
+ <url>https://github.com/apache/maven-reporting-api/issues</url>
</issueManagement>
<ciManagement>
<system>Jenkins</system>
@@ -57,14 +57,19 @@
<properties>
<javaVersion>8</javaVersion>
-
<project.build.outputTimestamp>2024-10-01T15:34:59Z</project.build.outputTimestamp>
+
<project.build.outputTimestamp>2026-10-23T19:46:10Z</project.build.outputTimestamp>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.maven.doxia</groupId>
<artifactId>doxia-sink-api</artifactId>
- <version>2.0.0</version>
+ <version>2.2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.junit.jupiter</groupId>
+ <artifactId>junit-jupiter-api</artifactId>
+ <scope>test</scope>
</dependency>
</dependencies>
</project>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/maven-reporting-api-4.0.0/src/main/java/org/apache/maven/reporting/MavenMultiPageReport.java
new/maven-reporting-api-4.1.0/src/main/java/org/apache/maven/reporting/MavenMultiPageReport.java
---
old/maven-reporting-api-4.0.0/src/main/java/org/apache/maven/reporting/MavenMultiPageReport.java
2024-10-01 17:35:08.000000000 +0200
+++
new/maven-reporting-api-4.1.0/src/main/java/org/apache/maven/reporting/MavenMultiPageReport.java
2026-10-23 21:46:49.000000000 +0200
@@ -24,14 +24,18 @@
import org.apache.maven.doxia.sink.SinkFactory;
/**
- * Interface created separately for backwards compatibility. This method
- * would ideally have been added in the {@link MavenReport} interface, and the
other 'generate'
- * method dropped. But that would have rendered all reporting mojo's
uncompilable and binary incompatible.
+ * A report that renders several pages. Before 4.1.0 this interface was the
only way for a report to
+ * receive a {@link SinkFactory}: adding an abstract method to {@link
MavenReport} would have broken
+ * every existing report. Since 4.1.0, {@link MavenReport} declares
+ * {@link MavenReport#generate(Sink, SinkFactory, Locale)} as a default method.
*
* @author <a href="mailto:[email protected]">Kenney Westerhof</a>
* @see MavenReport#generate(Sink, Locale)
* @since 3.0 (copied in maven-site-plugin 2.0-beta-6)
+ * @deprecated {@link MavenReport#generate(Sink, SinkFactory, Locale)} now
exists as a default method,
+ * so implement {@link MavenReport} directly.
*/
+@Deprecated
public interface MavenMultiPageReport extends MavenReport {
/**
* Generate multi page report.
@@ -41,5 +45,6 @@
* @param sinkFactory the sink factory to create sub sinks.
* @throws MavenReportException if an error occurs.
*/
+ @Override
void generate(Sink sink, SinkFactory sinkFactory, Locale locale) throws
MavenReportException;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/maven-reporting-api-4.0.0/src/main/java/org/apache/maven/reporting/MavenReport.java
new/maven-reporting-api-4.1.0/src/main/java/org/apache/maven/reporting/MavenReport.java
---
old/maven-reporting-api-4.0.0/src/main/java/org/apache/maven/reporting/MavenReport.java
2024-10-01 17:35:08.000000000 +0200
+++
new/maven-reporting-api-4.1.0/src/main/java/org/apache/maven/reporting/MavenReport.java
2026-10-23 21:46:49.000000000 +0200
@@ -22,9 +22,12 @@
import java.util.Locale;
import org.apache.maven.doxia.sink.Sink;
+import org.apache.maven.doxia.sink.SinkFactory;
/**
- * The basis for a Maven report.
+ * The basis for a Maven report: a report that the Maven Site Plugin renders
into the project site.
+ * Report plugins usually extend {@code AbstractMavenReport} from Maven
Reporting Implementation
+ * instead of implementing this interface directly.
*
* @author Brett Porter
* @author <a href="[email protected]">Emmanuel Venisse</a>
@@ -42,9 +45,10 @@
String CATEGORY_PROJECT_REPORTS = "Project Reports";
/**
- * Generate the report depending the wanted locale.
- * <br>
- * Mainly used for external reports like javadoc.
+ * Generate the report for the given locale.
+ * <p>
+ * A report that renders a single page implements only this method. A
report that renders several
+ * pages also overrides {@link #generate(Sink, SinkFactory, Locale)}.
*
* @param sink the sink to use for the generation.
* @param locale the wanted locale to generate the report.
@@ -53,9 +57,26 @@
void generate(Sink sink, Locale locale) throws MavenReportException;
/**
+ * Generate the report for the given locale, possibly as several pages.
+ * <p>
+ * A report that renders a single page ignores {@code sinkFactory}. A
report that renders several
+ * pages uses {@code sinkFactory} to create the sinks for its sub-pages.
By default, this method
+ * renders a single page with {@link #generate(Sink, Locale)}.
+ *
+ * @param sink the sink to use for the main page.
+ * @param sinkFactory the factory for sub-page sinks, or {@code null} when
sub-pages cannot be created.
+ * @param locale the wanted locale to generate the report.
+ * @throws MavenReportException if any
+ * @since 4.1.0
+ */
+ default void generate(Sink sink, SinkFactory sinkFactory, Locale locale)
throws MavenReportException {
+ generate(sink, locale);
+ }
+
+ /**
* Get the path relative to {@link #getReportOutputDirectory()} where the
report's main output
* file will be written. The last component is the name of the file
without any extension. The
- * actual output extension will by added by the sink implementation.
+ * actual output extension is added by the sink implementation.
* <p>
* Note: This method won't be {@code default} anymore when {@link
#getOutputName()} is removed.
* You are advised to implement it as soon as possible.
@@ -68,6 +89,9 @@
}
/**
+ * Get the name of the report's main output file, without any extension.
+ *
+ * @return the output name of this report
* @deprecated Method name does not properly reflect its purpose.
Implement and use
* {@link #getOutputPath()} instead.
*/
@@ -114,19 +138,20 @@
File getReportOutputDirectory();
/**
- * An external report is a report which calls a third party program which
generates some reports too.
- * A good example is javadoc tool.
+ * Tell whether this report writes its own output files instead of
rendering into the sink, as the
+ * Javadoc report does when it calls the javadoc tool. The Maven Site
Plugin does not decorate an
+ * external report with the site skin.
*
- * @return {@code true} if this report is external, {@code false}
otherwise.
- * Default should be {@code false}.
+ * @return {@code true} if this report is external, {@code false}
otherwise. Most reports return
+ * {@code false}.
*/
boolean isExternalReport();
/**
- * Verify some conditions before generating the report.
+ * Verify some conditions before generating the report, for example that
there is something to
+ * report on. The Maven Site Plugin skips a report that returns {@code
false}.
*
* @return {@code true} if this report can be generated, {@code false}
otherwise.
- * Default should be {@code true}.
* @throws MavenReportException if any
*/
boolean canGenerateReport() throws MavenReportException;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/maven-reporting-api-4.0.0/src/main/java/org/apache/maven/reporting/MavenReportException.java
new/maven-reporting-api-4.1.0/src/main/java/org/apache/maven/reporting/MavenReportException.java
---
old/maven-reporting-api-4.0.0/src/main/java/org/apache/maven/reporting/MavenReportException.java
2024-10-01 17:35:08.000000000 +0200
+++
new/maven-reporting-api-4.1.0/src/main/java/org/apache/maven/reporting/MavenReportException.java
2026-10-23 21:46:49.000000000 +0200
@@ -30,7 +30,7 @@
public static final long serialVersionUID = -6200353563231163785L;
/**
- * Default constructor.
+ * Create an exception with a message.
*
* @param message the exception message.
*/
@@ -39,7 +39,7 @@
}
/**
- * Other constructor.
+ * Create an exception with a message and a cause.
*
* @param message the exception message.
* @param cause the cause.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/maven-reporting-api-4.0.0/src/main/java/org/apache/maven/reporting/MavenReportRenderer.java
new/maven-reporting-api-4.1.0/src/main/java/org/apache/maven/reporting/MavenReportRenderer.java
---
old/maven-reporting-api-4.0.0/src/main/java/org/apache/maven/reporting/MavenReportRenderer.java
2024-10-01 17:35:08.000000000 +0200
+++
new/maven-reporting-api-4.1.0/src/main/java/org/apache/maven/reporting/MavenReportRenderer.java
2026-10-23 21:46:49.000000000 +0200
@@ -19,7 +19,7 @@
package org.apache.maven.reporting;
/**
- * Basis for rendering report.
+ * Renders the content of a report.
*
* @author <a href="mailto:[email protected]">Jason van Zyl</a>
* @author <a href="[email protected]">Emmanuel Venisse</a>
@@ -27,12 +27,15 @@
*/
public interface MavenReportRenderer {
/**
+ * Get the report's title.
+ *
* @return the wanted report's title.
*/
String getTitle();
/**
- * Renderer a report.
+ * Render the report.
+ *
* @throws MavenReportException if any
*/
void render() throws MavenReportException;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/maven-reporting-api-4.0.0/src/main/java/org/apache/maven/reporting/package-info.java
new/maven-reporting-api-4.1.0/src/main/java/org/apache/maven/reporting/package-info.java
---
old/maven-reporting-api-4.0.0/src/main/java/org/apache/maven/reporting/package-info.java
1970-01-01 01:00:00.000000000 +0100
+++
new/maven-reporting-api-4.1.0/src/main/java/org/apache/maven/reporting/package-info.java
2026-10-23 21:46:49.000000000 +0200
@@ -0,0 +1,42 @@
+/*
+ * 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.
+ */
+
+/**
+ * The API between the Maven Site Plugin and the reports it renders.
+ * <p>
+ * A report implements {@link org.apache.maven.reporting.MavenReport}. Report
plugins usually extend
+ * {@code AbstractMavenReport} from Maven Reporting Implementation, which also
lets the report run as
+ * a standalone goal. For each configured report, the Maven Site Plugin:
+ * <ol>
+ * <li>calls {@link
org.apache.maven.reporting.MavenReport#setReportOutputDirectory(java.io.File)
+ * setReportOutputDirectory} with the site output directory;</li>
+ * <li>skips the report if {@link
org.apache.maven.reporting.MavenReport#canGenerateReport()
+ * canGenerateReport} returns {@code false};</li>
+ * <li>calls {@link
org.apache.maven.reporting.MavenReport#generate(org.apache.maven.doxia.sink.Sink,
+ * org.apache.maven.doxia.sink.SinkFactory, java.util.Locale) generate} with a
sink for the main page
+ * and a factory for any sub-pages;</li>
+ * <li>decorates the pages with the site skin, unless
+ * {@link org.apache.maven.reporting.MavenReport#isExternalReport()
isExternalReport} returns
+ * {@code true}.</li>
+ * </ol>
+ * <p>
+ * Every report plugin implements this API, so a method added to {@code
MavenReport} must be a
+ * {@code default} method, and two default methods must never call each other.
+ */
+package org.apache.maven.reporting;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/maven-reporting-api-4.0.0/src/site/site.xml
new/maven-reporting-api-4.1.0/src/site/site.xml
--- old/maven-reporting-api-4.0.0/src/site/site.xml 2024-10-01
17:35:08.000000000 +0200
+++ new/maven-reporting-api-4.1.0/src/site/site.xml 2026-10-23
21:46:49.000000000 +0200
@@ -19,7 +19,8 @@
under the License.
-->
-<project xmlns="http://maven.apache.org/DECORATION/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/DECORATION/1.0.0
http://maven.apache.org/xsd/decoration-1.0.0.xsd">
+<site xmlns="http://maven.apache.org/SITE/2.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/SITE/2.0.0
https://maven.apache.org/xsd/site-2.0.0.xsd">
<body>
<menu name="Overview">
<item name="Introduction" href="index.html"/>
@@ -34,4 +35,4 @@
<menu ref="parent"/>
<menu ref="reports"/>
</body>
-</project>
+</site>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/maven-reporting-api-4.0.0/src/site/xdoc/download.xml.vm
new/maven-reporting-api-4.1.0/src/site/xdoc/download.xml.vm
--- old/maven-reporting-api-4.0.0/src/site/xdoc/download.xml.vm 2024-10-01
17:35:08.000000000 +0200
+++ new/maven-reporting-api-4.1.0/src/site/xdoc/download.xml.vm 2026-10-23
21:46:49.000000000 +0200
@@ -18,109 +18,56 @@
specific language governing permissions and limitations
under the License.
-->
-
<document>
<properties>
<title>Download ${project.name} Source</title>
</properties>
+
<body>
<section name="Download ${project.name} ${project.version} Source">
- <p>${project.name} ${project.version} is distributed in source format.
Use a source archive if you intend to build
- ${project.name} yourself. Otherwise, simply use the ready-made binary
artifacts from central repository.</p>
+ <p><strong>${project.name} ${project.version}</strong> is distributed in
source format.</p>
- <p>You will be prompted for a mirror - if the file is not found on
yours, please be patient, as it may take 24
- hours to reach all mirrors.<p/>
+ <p>Use a source archive if you intend to build
<strong>${project.name}</strong> yourself.</p>
- <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="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>
-
- <p></p>We <b>strongly</b> encourage our users to configure a Maven
repository mirror closer to their location, please read <a
href="/guides/mini/guide-mirror-settings.html">How to Use Mirrors for
Repositories</a>.</p>
-
- <a name="mirror"/>
- <subsection name="Mirror">
-
- <p>
- [if-any logo]
- <a href="[link]">
- <img align="right" src="[logo]" border="0"
- alt="logo"/>
- </a>
- [end]
- The currently selected mirror is
- <b>[preferred]</b>.
- If you encounter a problem with this mirror,
- please select another mirror.
- If all mirrors are failing, there are
- <i>backup</i>
- mirrors
- (at the end of the mirrors list) that should be available.
- </p>
+ <p>Otherwise, simply use the ready-made binary artifacts from
<strong>central repository</strong>.</p>
+
+ <p><strong>${project.name}</strong> is distributed under the <a
href="https://www.apache.org/licenses/">Apache License, version 2.0</a>.</p>
- <form action="[location]" method="get" id="SelectMirror">
- Other mirrors:
- <select name="Preferred">
- [if-any http]
- [for http]
- <option value="[http]">[http]</option>
- [end]
- [end]
- [if-any ftp]
- [for ftp]
- <option value="[ftp]">[ftp]</option>
- [end]
- [end]
- [if-any backup]
- [for backup]
- <option value="[backup]">[backup] (backup)</option>
- [end]
- [end]
- </select>
- <input type="submit" value="Change"/>
- </form>
-
- <p>
- You may also consult the
- <a href="http://www.apache.org/mirrors/">complete list of
- mirrors.</a>
+ <subsection name="Files">
+
+ <p>This is the current stable version of
<strong>${project.name}</strong>.</p>
+
+ <table>
+ <thead>
+ <tr>
+ <th></th>
+ <th>Link</th>
+ <th>Checksum</th>
+ <th>Signature</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>${project.name} ${project.version} (Source zip)</td>
+ <td><a
href="https://dlcdn.apache.org/maven/reporting/${project.artifactId}-${project.version}-source-release.zip">${project.artifactId}-${project.version}-source-release.zip</a></td>
+ <td><a
href="https://downloads.apache.org/maven/reporting/${project.artifactId}-${project.version}-source-release.zip.sha512">${project.artifactId}-${project.version}-source-release.zip.sha512</a></td>
+ <td><a
href="https://downloads.apache.org/maven/reporting/${project.artifactId}-${project.version}-source-release.zip.asc">${project.artifactId}-${project.version}-source-release.zip.asc</a></td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>It is essential that you <a
href="https://www.apache.org/info/verification.html">verify the integrity</a>
of the downloaded file
+ using the checksum (.sha512 file)
+ or using the signature (.asc file) against the public <a
href="https://downloads.apache.org/maven/KEYS">KEYS</a> used by the Apache
Maven developers.
</p>
</subsection>
-
- <subsection name="${project.name} ${project.version}">
-
- <p>This is the current stable version of ${project.name}.</p>
-
- <table>
- <thead>
- <tr>
- <th></th>
- <th>Link</th>
- <th>Checksum</th>
- <th>Signature</th>
- </tr>
- </thead>
- <tbody>
- <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="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>
- </subsection>
<subsection name="Previous Versions">
-
- <p>Older non-recommended releases can be found on our <a
href="http://archive.apache.org/dist/maven/reporting/">archive site</a>.</p>
-
+ <p>It is strongly recommended to use the latest release version of
<strong>${project.name}</strong> to take advantage of the newest features and
bug fixes.</p>
+ <p>Older non-recommended releases can be found on our <a
href="https://archive.apache.org/dist/maven/reporting/">archive site</a>.</p>
</subsection>
</section>
</body>
-</document>
-
+</document>
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/maven-reporting-api-4.0.0/src/test/java/org/apache/maven/reporting/MavenReportTest.java
new/maven-reporting-api-4.1.0/src/test/java/org/apache/maven/reporting/MavenReportTest.java
---
old/maven-reporting-api-4.0.0/src/test/java/org/apache/maven/reporting/MavenReportTest.java
1970-01-01 01:00:00.000000000 +0100
+++
new/maven-reporting-api-4.1.0/src/test/java/org/apache/maven/reporting/MavenReportTest.java
2026-10-23 21:46:49.000000000 +0200
@@ -0,0 +1,106 @@
+/*
+ * 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.
+ */
+package org.apache.maven.reporting;
+
+import java.io.File;
+import java.util.Locale;
+
+import org.apache.maven.doxia.sink.Sink;
+import org.apache.maven.doxia.sink.SinkFactory;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertSame;
+
+class MavenReportTest {
+
+ private static final Locale LOCALE = Locale.ENGLISH;
+
+ /** Records which generate method the implementation received. */
+ private abstract static class RecordingReport implements MavenReport {
+ String called;
+ Sink sink;
+ SinkFactory sinkFactory;
+ Locale locale;
+
+ @Override
+ public String getOutputPath() {
+ return "report";
+ }
+
+ @Override
+ @SuppressWarnings("deprecation")
+ public String getOutputName() {
+ return getOutputPath();
+ }
+
+ @Override
+ public String getCategoryName() {
+ return CATEGORY_PROJECT_REPORTS;
+ }
+
+ @Override
+ public String getName(Locale locale) {
+ return "report";
+ }
+
+ @Override
+ public String getDescription(Locale locale) {
+ return "report";
+ }
+
+ @Override
+ public void setReportOutputDirectory(File outputDirectory) {}
+
+ @Override
+ public File getReportOutputDirectory() {
+ return null;
+ }
+
+ @Override
+ public boolean isExternalReport() {
+ return false;
+ }
+
+ @Override
+ public boolean canGenerateReport() {
+ return true;
+ }
+ }
+
+ /** A report written before 4.1.0: implements only the single-page method.
*/
+ private static class SinglePageReport extends RecordingReport {
+ @Override
+ public void generate(Sink sink, Locale locale) {
+ called = "single";
+ this.sink = sink;
+ this.locale = locale;
+ }
+ }
+
+ @Test
+ void multiPageCallReachesSinglePageImplementation() throws
MavenReportException {
+ SinglePageReport report = new SinglePageReport();
+
+ report.generate(null, null, LOCALE);
+
+ assertEquals("single", report.called);
+ assertSame(LOCALE, report.locale);
+ }
+}
++++++ maven-reporting-api-build.xml ++++++
--- /var/tmp/diff_new_pack.ROtkZY/_old 2026-11-03 18:00:15.566116582 +0100
+++ /var/tmp/diff_new_pack.ROtkZY/_new 2026-11-03 18:00:15.572116836 +0100
@@ -10,9 +10,9 @@
<property name="project.groupId" value="org.apache.maven.reporting"/>
<property name="project.artifactId" value="maven-reporting-api"/>
- <property name="project.version" value="4.0.0"/>
+ <property name="project.version" value="4.1.0"/>
- <property name="spec.version" value="4.0"/>
+ <property name="spec.version" value="4.1"/>
<property name="project.organization.name" value="The Apache Software
Foundation"/>
<property name="project.name" value="Apache Maven Reporting API"/>