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/24 20:31:32 UTC
[maven-site-plugin] 08/11: [MSITE-956] Pass a sub mojo execution to CategorySummaryDocumentRenderer
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 1553a188e3b2de8df394705d38d6f250f37e6c3e
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 dc4c7ce6..7ce91550 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..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;
+ }
}