You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by mi...@apache.org on 2023/04/15 22:29:01 UTC
[maven-site-plugin] branch open-issues updated (ecde38e3 -> adc98fa6)
This is an automated email from the ASF dual-hosted git repository.
michaelo pushed a change to branch open-issues
in repository https://gitbox.apache.org/repos/asf/maven-site-plugin.git
discard ecde38e3 [MSITE-957] Print generation log message in CategorySummaryDocumentRenderer like in ReportDocumentRenderer
discard bcd4a55a [MSITE-956] Pass a sub mojo execution to CategorySummaryDocumentRenderer
discard 09921aae [MSITE-955] Improve DoxiaFilter document source log message
discard a28883bc [MSITE-953] Log statistics about rendered non-Doxia documents
discard 8082ed3f [MSITE-954] Introduce SitePluginReportDocumentRenderer marker interface
discard 787d89ae [MSITE-952] MultiPageSinkFactory does not strip output name for extension
discard a91115c7 [MSITE-951] Don't abuse report's symbolic output name as filename
new 01d44427 [MSITE-951] Don't abuse report's symbolic output name as filename
new dd8bcbb7 [MSITE-952] MultiPageSinkFactory does not strip output name for extension
new 16f32077 [MSITE-954] Introduce SitePluginReportDocumentRenderer marker interface
new 07652ea2 [MSITE-953] Log statistics about rendered non-Doxia documents
new 644885c2 [MSITE-955] Improve DoxiaFilter document source log message
new 65ffea8a [MSITE-956] Pass a sub mojo execution to CategorySummaryDocumentRenderer
new adc98fa6 [MSITE-957] Print generation log message in CategorySummaryDocumentRenderer like in ReportDocumentRenderer
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (ecde38e3)
\
N -- N -- N refs/heads/open-issues (adc98fa6)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
The 7 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.../maven/plugins/site/render/AbstractSiteRenderingMojo.java | 6 ++++--
.../plugins/site/render/CategorySummaryDocumentRenderer.java | 11 -----------
2 files changed, 4 insertions(+), 13 deletions(-)
[maven-site-plugin] 04/07: [MSITE-953] Log statistics about rendered non-Doxia documents
Posted by mi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
michaelo pushed a commit to branch open-issues
in repository https://gitbox.apache.org/repos/asf/maven-site-plugin.git
commit 07652ea20ae41b90f9d24af01be17a880a5ab151
Author: Michael Osipov <mi...@apache.org>
AuthorDate: Sat Apr 15 20:32:42 2023 +0200
[MSITE-953] Log statistics about rendered non-Doxia documents
---
.../apache/maven/plugins/site/render/SiteMojo.java | 58 ++++++++++++++++++++--
1 file changed, 55 insertions(+), 3 deletions(-)
diff --git a/src/main/java/org/apache/maven/plugins/site/render/SiteMojo.java b/src/main/java/org/apache/maven/plugins/site/render/SiteMojo.java
index a87d4f9b..41c81b92 100644
--- a/src/main/java/org/apache/maven/plugins/site/render/SiteMojo.java
+++ b/src/main/java/org/apache/maven/plugins/site/render/SiteMojo.java
@@ -159,16 +159,16 @@ public class SiteMojo extends AbstractSiteRenderingMojo {
siteRenderer.copyResources(context, outputDir);
// 1. render Doxia documents first
- List<DocumentRenderer> reportDocuments = renderDoxiaDocuments(documents, context, outputDir, false);
+ List<DocumentRenderer> nonDoxiaDocuments = renderDoxiaDocuments(documents, context, outputDir, false);
- // 2. then reports
// prepare external reports
for (MavenReportExecution mavenReportExecution : reports) {
MavenReport report = mavenReportExecution.getMavenReport();
report.setReportOutputDirectory(outputDir);
}
- siteRenderer.render(reportDocuments, context, outputDir);
+ // 2. then non-Doxia documents (e.g., reports)
+ renderNonDoxiaDocuments(nonDoxiaDocuments, context, outputDir);
if (generateSitemap) {
getLog().info("Generating Sitemap");
@@ -254,6 +254,58 @@ public class SiteMojo extends AbstractSiteRenderingMojo {
return nonDoxiaDocuments;
}
+ /**
+ * Render non-Doxia documents (e.g., reports) from the list given
+ *
+ * @param documents a collection of documents containing non-Doxia source files
+ */
+ private void renderNonDoxiaDocuments(List<DocumentRenderer> documents, SiteRenderingContext context, File outputDir)
+ throws RendererException, IOException {
+ Map<String, Integer> counts = new TreeMap<>();
+
+ for (DocumentRenderer doc : documents) {
+ String type;
+ if (doc instanceof ReportDocumentRenderer) {
+ type = "report";
+ } else if (doc instanceof SitePluginReportDocumentRenderer) {
+ type = "site-plugin-report";
+ } else {
+ type = "other";
+ }
+
+ Integer count = counts.get(type);
+ if (count == null) {
+ count = 1;
+ } else {
+ count++;
+ }
+ counts.put(type, count);
+ }
+
+ if (documents.size() > 0) {
+ MessageBuilder mb = buffer();
+ mb.a("Rendering ");
+ mb.strong(documents.size() + " non-Doxia document" + (documents.size() > 1 ? "s" : ""));
+ mb.a(": ");
+
+ boolean first = true;
+ for (Map.Entry<String, Integer> entry : counts.entrySet()) {
+ if (first) {
+ first = false;
+ } else {
+ mb.a(", ");
+ }
+ String type = entry.getKey();
+ Integer count = entry.getValue();
+ mb.strong(count + " " + type + (count > 1 ? "s" : ""));
+ }
+
+ getLog().info(mb.toString());
+
+ siteRenderer.render(documents, context, outputDir);
+ }
+ }
+
private File getOutputDirectory(Locale locale) {
File file;
if (!locale.equals(SiteTool.DEFAULT_LOCALE)) {
[maven-site-plugin] 06/07: [MSITE-956] Pass a sub mojo execution to CategorySummaryDocumentRenderer
Posted by mi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
michaelo pushed a commit to branch open-issues
in repository https://gitbox.apache.org/repos/asf/maven-site-plugin.git
commit 65ffea8a4b74529cbde5fb8425ef8152248fba6e
Author: Michael Osipov <mi...@apache.org>
AuthorDate: Sat Apr 15 22:22:55 2023 +0200
[MSITE-956] Pass a sub mojo execution to CategorySummaryDocumentRenderer
---
.../site/render/AbstractSiteRenderingMojo.java | 24 +++++++++----------
.../render/CategorySummaryDocumentRenderer.java | 27 ++++++++++++----------
2 files changed, 27 insertions(+), 24 deletions(-)
diff --git a/src/main/java/org/apache/maven/plugins/site/render/AbstractSiteRenderingMojo.java b/src/main/java/org/apache/maven/plugins/site/render/AbstractSiteRenderingMojo.java
index 0d697695..bfce47d8 100644
--- a/src/main/java/org/apache/maven/plugins/site/render/AbstractSiteRenderingMojo.java
+++ b/src/main/java/org/apache/maven/plugins/site/render/AbstractSiteRenderingMojo.java
@@ -49,7 +49,6 @@ import org.apache.maven.model.Reporting;
import org.apache.maven.plugin.MojoExecution;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.MojoFailureException;
-import org.apache.maven.plugin.descriptor.PluginDescriptor;
import org.apache.maven.plugins.annotations.Component;
import org.apache.maven.plugins.annotations.Parameter;
import org.apache.maven.plugins.site.descriptor.AbstractSiteDescriptorMojo;
@@ -414,14 +413,17 @@ public abstract class AbstractSiteRenderingMojo extends AbstractSiteDescriptorMo
if (categories.containsKey(MavenReport.CATEGORY_PROJECT_INFORMATION) && generateProjectInfo) {
// add "Project Information" category summary document
List<MavenReport> categoryReports = categories.get(MavenReport.CATEGORY_PROJECT_INFORMATION);
-
+ MojoExecution subMojoExecution =
+ new MojoExecution(mojoExecution.getPlugin(), "project-info", mojoExecution.getExecutionId());
DocumentRenderingContext docRenderingContext = new DocumentRenderingContext(
- siteDirectory, "project-info.html", getSitePluginInfo() + ":CategorySummaryDocumentRenderer");
+ siteDirectory,
+ subMojoExecution.getGoal(),
+ subMojoExecution.getPlugin().getId() + ':' + subMojoExecution.getGoal());
String title = i18n.getString("site-plugin", locale, "report.information.title");
String desc1 = i18n.getString("site-plugin", locale, "report.information.description1");
String desc2 = i18n.getString("site-plugin", locale, "report.information.description2");
DocumentRenderer docRenderer = new CategorySummaryDocumentRenderer(
- docRenderingContext, title, desc1, desc2, i18n, categoryReports, getLog());
+ subMojoExecution, docRenderingContext, title, desc1, desc2, i18n, categoryReports, getLog());
String filename = docRenderer.getOutputName();
if (!documents.containsKey(filename)) {
@@ -435,13 +437,17 @@ public abstract class AbstractSiteRenderingMojo extends AbstractSiteDescriptorMo
if (categories.containsKey(MavenReport.CATEGORY_PROJECT_REPORTS)) {
// add "Project Reports" category summary document
List<MavenReport> categoryReports = categories.get(MavenReport.CATEGORY_PROJECT_REPORTS);
+ MojoExecution subMojoExecution =
+ new MojoExecution(mojoExecution.getPlugin(), "project-reports", mojoExecution.getExecutionId());
DocumentRenderingContext docRenderingContext = new DocumentRenderingContext(
- siteDirectory, "project-reports.html", getSitePluginInfo() + ":CategorySummaryDocumentRenderer");
+ siteDirectory,
+ subMojoExecution.getGoal(),
+ subMojoExecution.getPlugin().getId() + ':' + subMojoExecution.getGoal());
String title = i18n.getString("site-plugin", locale, "report.project.title");
String desc1 = i18n.getString("site-plugin", locale, "report.project.description1");
String desc2 = i18n.getString("site-plugin", locale, "report.project.description2");
DocumentRenderer docRenderer = new CategorySummaryDocumentRenderer(
- docRenderingContext, title, desc1, desc2, i18n, categoryReports, getLog());
+ subMojoExecution, docRenderingContext, title, desc1, desc2, i18n, categoryReports, getLog());
String filename = docRenderer.getOutputName();
if (!documents.containsKey(filename)) {
@@ -454,12 +460,6 @@ public abstract class AbstractSiteRenderingMojo extends AbstractSiteDescriptorMo
return documents;
}
- private String getSitePluginInfo() {
- PluginDescriptor pluginDescriptor =
- (PluginDescriptor) getPluginContext().get("pluginDescriptor");
- return pluginDescriptor.getId();
- }
-
protected void populateReportItems(
SiteModel siteModel, Locale locale, Map<String, MavenReport> reportsByOutputName) {
for (Menu menu : siteModel.getMenus()) {
diff --git a/src/main/java/org/apache/maven/plugins/site/render/CategorySummaryDocumentRenderer.java b/src/main/java/org/apache/maven/plugins/site/render/CategorySummaryDocumentRenderer.java
index b9080ffa..c9277c6b 100644
--- a/src/main/java/org/apache/maven/plugins/site/render/CategorySummaryDocumentRenderer.java
+++ b/src/main/java/org/apache/maven/plugins/site/render/CategorySummaryDocumentRenderer.java
@@ -24,12 +24,12 @@ import java.util.Collections;
import java.util.List;
import java.util.Locale;
-import org.apache.maven.doxia.siterenderer.DocumentRenderer;
import org.apache.maven.doxia.siterenderer.DocumentRenderingContext;
import org.apache.maven.doxia.siterenderer.RendererException;
import org.apache.maven.doxia.siterenderer.SiteRenderer;
import org.apache.maven.doxia.siterenderer.SiteRenderingContext;
import org.apache.maven.doxia.siterenderer.sink.SiteRendererSink;
+import org.apache.maven.plugin.MojoExecution;
import org.apache.maven.plugin.logging.Log;
import org.apache.maven.reporting.MavenReport;
import org.codehaus.plexus.i18n.I18N;
@@ -39,9 +39,11 @@ import org.codehaus.plexus.i18n.I18N;
*
* @author <a href="mailto:brett@apache.org">Brett Porter</a>
*/
-public class CategorySummaryDocumentRenderer implements DocumentRenderer {
+public class CategorySummaryDocumentRenderer implements SitePluginReportDocumentRenderer {
private DocumentRenderingContext docRenderingContext;
+ private final String reportMojoInfo;
+
private String title;
private String desc1;
@@ -55,16 +57,7 @@ public class CategorySummaryDocumentRenderer implements DocumentRenderer {
private final Log log;
public CategorySummaryDocumentRenderer(
- DocumentRenderingContext docRenderingContext,
- String title,
- String desc1,
- String desc2,
- I18N i18n,
- List<MavenReport> categoryReports) {
- this(docRenderingContext, title, desc1, desc2, i18n, categoryReports, null);
- }
-
- public CategorySummaryDocumentRenderer(
+ MojoExecution mojoExecution,
DocumentRenderingContext docRenderingContext,
String title,
String desc1,
@@ -73,6 +66,11 @@ public class CategorySummaryDocumentRenderer implements DocumentRenderer {
List<MavenReport> categoryReports,
Log log) {
this.docRenderingContext = docRenderingContext;
+ this.reportMojoInfo = mojoExecution.getPlugin().getArtifactId()
+ + ':'
+ + mojoExecution.getPlugin().getVersion()
+ + ':'
+ + mojoExecution.getGoal();
this.title = title;
this.desc1 = desc1;
this.desc2 = desc2;
@@ -186,4 +184,9 @@ public class CategorySummaryDocumentRenderer implements DocumentRenderer {
public boolean isExternalReport() {
return false;
}
+
+ @Override
+ public String getReportMojoInfo() {
+ return reportMojoInfo;
+ }
}
[maven-site-plugin] 07/07: [MSITE-957] Print generation log message in CategorySummaryDocumentRenderer like in ReportDocumentRenderer
Posted by mi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
michaelo pushed a commit to branch open-issues
in repository https://gitbox.apache.org/repos/asf/maven-site-plugin.git
commit adc98fa6843c135d47b99de102eb161d2206b295
Author: Michael Osipov <mi...@apache.org>
AuthorDate: Sat Apr 15 22:25:08 2023 +0200
[MSITE-957] Print generation log message in CategorySummaryDocumentRenderer like in ReportDocumentRenderer
---
.../plugins/site/render/CategorySummaryDocumentRenderer.java | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/src/main/java/org/apache/maven/plugins/site/render/CategorySummaryDocumentRenderer.java b/src/main/java/org/apache/maven/plugins/site/render/CategorySummaryDocumentRenderer.java
index c9277c6b..e3e90a69 100644
--- a/src/main/java/org/apache/maven/plugins/site/render/CategorySummaryDocumentRenderer.java
+++ b/src/main/java/org/apache/maven/plugins/site/render/CategorySummaryDocumentRenderer.java
@@ -24,6 +24,7 @@ import java.util.Collections;
import java.util.List;
import java.util.Locale;
+import org.apache.commons.lang3.StringUtils;
import org.apache.maven.doxia.siterenderer.DocumentRenderingContext;
import org.apache.maven.doxia.siterenderer.RendererException;
import org.apache.maven.doxia.siterenderer.SiteRenderer;
@@ -34,6 +35,8 @@ import org.apache.maven.plugin.logging.Log;
import org.apache.maven.reporting.MavenReport;
import org.codehaus.plexus.i18n.I18N;
+import static org.apache.maven.shared.utils.logging.MessageUtils.buffer;
+
/**
* Renders a Maven report.
*
@@ -81,6 +84,11 @@ public class CategorySummaryDocumentRenderer implements SitePluginReportDocument
public void renderDocument(Writer writer, SiteRenderer siteRenderer, SiteRenderingContext siteRenderingContext)
throws RendererException, FileNotFoundException {
+ String msg = "Generating \"" + buffer().strong(title) + "\" site-plugin-report";
+ // CHECKSTYLE_OFF: MagicNumber
+ log.info((StringUtils.rightPad(msg, 40) + buffer().strong(" --- ").mojo(reportMojoInfo)));
+ // CHECKSTYLE_ON: MagicNumber
+
SiteRendererSink sink = new SiteRendererSink(docRenderingContext);
sink.head();
[maven-site-plugin] 05/07: [MSITE-955] Improve DoxiaFilter document source log message
Posted by mi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
michaelo pushed a commit to branch open-issues
in repository https://gitbox.apache.org/repos/asf/maven-site-plugin.git
commit 644885c278b1786e8026d825da093f7af73726c0
Author: Michael Osipov <mi...@apache.org>
AuthorDate: Sat Apr 15 22:05:41 2023 +0200
[MSITE-955] Improve DoxiaFilter document source log message
---
.../org/apache/maven/plugins/site/run/DoxiaFilter.java | 16 +++++++++++-----
1 file changed, 11 insertions(+), 5 deletions(-)
diff --git a/src/main/java/org/apache/maven/plugins/site/run/DoxiaFilter.java b/src/main/java/org/apache/maven/plugins/site/run/DoxiaFilter.java
index 342118f1..508744b3 100644
--- a/src/main/java/org/apache/maven/plugins/site/run/DoxiaFilter.java
+++ b/src/main/java/org/apache/maven/plugins/site/run/DoxiaFilter.java
@@ -42,6 +42,7 @@ import org.apache.maven.doxia.siterenderer.SiteRenderer;
import org.apache.maven.doxia.siterenderer.SiteRenderingContext;
import org.apache.maven.doxia.tools.SiteTool;
import org.apache.maven.plugins.site.render.ReportDocumentRenderer;
+import org.apache.maven.plugins.site.render.SitePluginReportDocumentRenderer;
import org.eclipse.jetty.http.MimeTypes;
import static org.apache.maven.shared.utils.logging.MessageUtils.buffer;
@@ -191,13 +192,18 @@ public class DoxiaFilter implements Filter {
private void logDocumentRenderer(String path, String locale, DocumentRenderer docRenderer) {
String source;
if (docRenderer instanceof DoxiaDocumentRenderer) {
- DoxiaDocumentRenderer doxiaDocumentRenderer = (DoxiaDocumentRenderer) docRenderer;
- source = doxiaDocumentRenderer.getRenderingContext().getInputName();
+ source = docRenderer.getRenderingContext().getDoxiaSourcePath();
} else if (docRenderer instanceof ReportDocumentRenderer) {
- ReportDocumentRenderer reportDocumentRenderer = (ReportDocumentRenderer) docRenderer;
- source = reportDocumentRenderer.getReportMojoInfo();
+ source = ((ReportDocumentRenderer) docRenderer).getReportMojoInfo();
+ if (source == null) {
+ source = "(unknown)";
+ }
+ } else if (docRenderer instanceof SitePluginReportDocumentRenderer) {
+ source = ((SitePluginReportDocumentRenderer) docRenderer).getReportMojoInfo();
} else {
- source = docRenderer.getClass().getName();
+ source = docRenderer.getRenderingContext().getGenerator() != null
+ ? docRenderer.getRenderingContext().getGenerator()
+ : docRenderer.getClass().getName();
}
String localizedPath = !locale.equals(SiteTool.DEFAULT_LOCALE.toString()) ? locale + "/" + path : path;
String localizedSource = source
[maven-site-plugin] 03/07: [MSITE-954] Introduce SitePluginReportDocumentRenderer marker interface
Posted by mi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
michaelo pushed a commit to branch open-issues
in repository https://gitbox.apache.org/repos/asf/maven-site-plugin.git
commit 16f32077ae1fcf5cb0d3841ab56a850baedd9d52
Author: Michael Osipov <mi...@apache.org>
AuthorDate: Sat Apr 15 20:35:21 2023 +0200
[MSITE-954] Introduce SitePluginReportDocumentRenderer marker interface
---
.../render/SitePluginReportDocumentRenderer.java | 26 ++++++++++++++++++++++
1 file changed, 26 insertions(+)
diff --git a/src/main/java/org/apache/maven/plugins/site/render/SitePluginReportDocumentRenderer.java b/src/main/java/org/apache/maven/plugins/site/render/SitePluginReportDocumentRenderer.java
new file mode 100644
index 00000000..25e6d673
--- /dev/null
+++ b/src/main/java/org/apache/maven/plugins/site/render/SitePluginReportDocumentRenderer.java
@@ -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.
+ */
+package org.apache.maven.plugins.site.render;
+
+import org.apache.maven.doxia.siterenderer.DocumentRenderer;
+
+public interface SitePluginReportDocumentRenderer extends DocumentRenderer {
+
+ String getReportMojoInfo();
+}
[maven-site-plugin] 01/07: [MSITE-951] Don't abuse report's symbolic output name as filename
Posted by mi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
michaelo pushed a commit to branch open-issues
in repository https://gitbox.apache.org/repos/asf/maven-site-plugin.git
commit 01d44427bfa27c6b2f9cfc2d0475c800cdf68b9a
Author: Michael Osipov <mi...@apache.org>
AuthorDate: Sat Apr 15 19:48:16 2023 +0200
[MSITE-951] Don't abuse report's symbolic output name as filename
---
.../site/render/AbstractSiteRenderingMojo.java | 32 ++++++++++++----------
1 file changed, 18 insertions(+), 14 deletions(-)
diff --git a/src/main/java/org/apache/maven/plugins/site/render/AbstractSiteRenderingMojo.java b/src/main/java/org/apache/maven/plugins/site/render/AbstractSiteRenderingMojo.java
index 82a4eed3..0d697695 100644
--- a/src/main/java/org/apache/maven/plugins/site/render/AbstractSiteRenderingMojo.java
+++ b/src/main/java/org/apache/maven/plugins/site/render/AbstractSiteRenderingMojo.java
@@ -334,21 +334,21 @@ public abstract class AbstractSiteRenderingMojo extends AbstractSiteDescriptorMo
for (MavenReportExecution mavenReportExecution : reports) {
MavenReport report = mavenReportExecution.getMavenReport();
- String outputName = report.getOutputName() + ".html";
+ String outputName = report.getOutputName();
+ String filename = outputName + ".html";
// Always add the report to the menu, see MSITE-150
- reportsByOutputName.put(report.getOutputName(), report);
+ reportsByOutputName.put(outputName, report);
- if (documents.containsKey(outputName)) {
- String reportMojoInfo = (mavenReportExecution.getGoal() == null)
+ if (documents.containsKey(filename)) {
+ String reportMojoInfo = mavenReportExecution.getGoal() == null
? ""
- : (" ("
- + mavenReportExecution.getPlugin().getArtifactId() + ':'
+ : (" (" + mavenReportExecution.getPlugin().getArtifactId() + ':'
+ mavenReportExecution.getPlugin().getVersion() + ':' + mavenReportExecution.getGoal()
+ ')');
getLog().info("Skipped \"" + report.getName(locale) + "\" report" + reportMojoInfo + ", file \""
- + outputName + "\" already exists.");
+ + filename + "\" already exists.");
} else {
String generator = mavenReportExecution.getGoal() == null
? null
@@ -357,7 +357,7 @@ public abstract class AbstractSiteRenderingMojo extends AbstractSiteDescriptorMo
new DocumentRenderingContext(siteDirectory, outputName, generator);
DocumentRenderer docRenderer =
new ReportDocumentRenderer(mavenReportExecution, docRenderingContext, getLog());
- documents.put(outputName, docRenderer);
+ documents.put(filename, docRenderer);
}
}
return reportsByOutputName;
@@ -423,10 +423,12 @@ public abstract class AbstractSiteRenderingMojo extends AbstractSiteDescriptorMo
DocumentRenderer docRenderer = new CategorySummaryDocumentRenderer(
docRenderingContext, title, desc1, desc2, i18n, categoryReports, getLog());
- if (!documents.containsKey(docRenderer.getOutputName())) {
- documents.put(docRenderer.getOutputName(), docRenderer);
+ String filename = docRenderer.getOutputName();
+ if (!documents.containsKey(filename)) {
+ documents.put(filename, docRenderer);
} else {
- getLog().info("Category summary '" + docRenderer.getOutputName() + "' skipped; already exists");
+ getLog().info("Skipped \"" + title + "\" site-plugin-report; file \"" + filename
+ + "\" already exists.");
}
}
@@ -441,10 +443,12 @@ public abstract class AbstractSiteRenderingMojo extends AbstractSiteDescriptorMo
DocumentRenderer docRenderer = new CategorySummaryDocumentRenderer(
docRenderingContext, title, desc1, desc2, i18n, categoryReports, getLog());
- if (!documents.containsKey(docRenderer.getOutputName())) {
- documents.put(docRenderer.getOutputName(), docRenderer);
+ String filename = docRenderer.getOutputName();
+ if (!documents.containsKey(filename)) {
+ documents.put(filename, docRenderer);
} else {
- getLog().info("Category summary '" + docRenderer.getOutputName() + "' skipped; already exists");
+ getLog().info("Skipped \"" + title + "\" site-plugin-report; file \"" + filename
+ + "\" already exists.");
}
}
return documents;
[maven-site-plugin] 02/07: [MSITE-952] MultiPageSinkFactory does not strip output name for extension
Posted by mi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
michaelo pushed a commit to branch open-issues
in repository https://gitbox.apache.org/repos/asf/maven-site-plugin.git
commit dd8bcbb7ef6ded6b9515dd03d87b7a0e4a4e8caf
Author: Michael Osipov <mi...@apache.org>
AuthorDate: Sat Apr 15 20:08:52 2023 +0200
[MSITE-952] MultiPageSinkFactory does not strip output name for extension
---
.../apache/maven/plugins/site/render/ReportDocumentRenderer.java | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/main/java/org/apache/maven/plugins/site/render/ReportDocumentRenderer.java b/src/main/java/org/apache/maven/plugins/site/render/ReportDocumentRenderer.java
index f0f855e7..ef8d7cb3 100644
--- a/src/main/java/org/apache/maven/plugins/site/render/ReportDocumentRenderer.java
+++ b/src/main/java/org/apache/maven/plugins/site/render/ReportDocumentRenderer.java
@@ -122,13 +122,15 @@ public class ReportDocumentRenderer implements DocumentRenderer {
@Override
public Sink createSink(File outputDir, String outputName) {
// Create a new document rendering context, similar to the main one, but with a different output name
- String outputRelativeToTargetSite = PathTool.getRelativeFilePath(
+ String document = PathTool.getRelativeFilePath(
report.getReportOutputDirectory().getPath(), new File(outputDir, outputName).getPath());
+ // Remove .html suffix since we know that we are in Site Renderer context
+ document = document.substring(0, document.lastIndexOf('.'));
DocumentRenderingContext subSinkContext = new DocumentRenderingContext(
docRenderingContext.getBasedir(),
docRenderingContext.getBasedirRelativePath(),
- outputRelativeToTargetSite,
+ document,
docRenderingContext.getParserId(),
docRenderingContext.getExtension(),
docRenderingContext.isEditable(),