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 6a3db0f72a97c07ef140b7c10b76b955edd81685 Author: Michael Osipov <[email protected]> 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 | 20 +++++++++++++++--- 2 files changed, 29 insertions(+), 15 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 07310855..f6e2a72a 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)) { @@ -434,13 +436,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)) { @@ -452,12 +458,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..122474b5 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:[email protected]">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,18 @@ public class CategorySummaryDocumentRenderer implements DocumentRenderer { private final Log log; public CategorySummaryDocumentRenderer( + MojoExecution mojoExecution, DocumentRenderingContext docRenderingContext, String title, String desc1, String desc2, I18N i18n, List<MavenReport> categoryReports) { - this(docRenderingContext, title, desc1, desc2, i18n, categoryReports, null); + this(mojoExecution, docRenderingContext, title, desc1, desc2, i18n, categoryReports, null); } public CategorySummaryDocumentRenderer( + MojoExecution mojoExecution, DocumentRenderingContext docRenderingContext, String title, String desc1, @@ -73,6 +77,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 +195,9 @@ public class CategorySummaryDocumentRenderer implements DocumentRenderer { public boolean isExternalReport() { return false; } + + @Override + public String getReportMojoInfo() { + return reportMojoInfo; + } }
