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 20:31:13 UTC

[maven-site-plugin] branch open-issues created (now 805ac0ef)

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


      at 805ac0ef [MSITE-957] Print generation log message in CategorySummaryDocumentRenderer like in ReportDocumentRenderer

This branch includes the following new commits:

     new df6e2241 Remove trailing period
     new 9883f84f [MSITE-949] Properly populate DocumentRenderingContext#generator for ReportDocumentRenderer
     new 4e61a2ed Remove unused import
     new bdd7c13a [MSITE-950] Upgrade to Doxia Sitetools to 2.0.0-M8, Maven Reporting API 4.0.0-M6, Maven Reporting Impl/Exec 4.0.0-M7
     new 28e9430b [MSITE-951] Don't abuse report's symbolic output name as filename
     new 660576be Test for null goal exactly like the caller does to avoid an NPE
     new 88038af4 [MSITE-952] MultiPageSinkFactory does not strip output name for extension
     new 3332c26f [MSITE-954] Introduce SitePluginReportDocumentRenderer marker interface
     new adce15bb [MSITE-953] Log statistics about rendered non-Doxia documents
     new 366f8ff7 [MSITE-955] Improve DoxiaFilter document source log message
     new 6a3db0f7 [MSITE-956] Pass a sub mojo execution to CategorySummaryDocumentRenderer
     new 805ac0ef [MSITE-957] Print generation log message in CategorySummaryDocumentRenderer like in ReportDocumentRenderer

The 12 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.



[maven-site-plugin] 08/12: [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 3332c26f8cc35cdb3b4b5ca451e3729179ca97d1
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] 05/12: [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 28e9430bc74254036d3c6a5373b1cff4b1bc03cd
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     | 30 ++++++++++++----------
 1 file changed, 16 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..07310855 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,11 @@ 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 + "\" category summary; file \"" + filename + "\" already exists.");
             }
         }
 
@@ -441,10 +442,11 @@ 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 + "\" category summary; file \"" + filename + "\" already exists.");
             }
         }
         return documents;


[maven-site-plugin] 10/12: [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 366f8ff7f7e654bac34fa8a04ef9c1e211bafab7
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] 06/12: Test for null goal exactly like the caller does to avoid an NPE

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 660576be0220917a73842913214dc508692065a5
Author: Michael Osipov <mi...@apache.org>
AuthorDate: Sat Apr 15 19:52:21 2023 +0200

    Test for null goal exactly like the caller does to avoid an NPE
---
 .../plugins/site/render/ReportDocumentRenderer.java     | 17 +++++++----------
 1 file changed, 7 insertions(+), 10 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 132ca92f..f0f855e7 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
@@ -66,18 +66,15 @@ public class ReportDocumentRenderer implements DocumentRenderer {
     public ReportDocumentRenderer(
             MavenReportExecution mavenReportExecution, DocumentRenderingContext docRenderingContext, Log log) {
         this.report = mavenReportExecution.getMavenReport();
-
         this.docRenderingContext = docRenderingContext;
-
-        // full MavenReportExecution prepared by maven-reporting-impl
-        this.reportMojoInfo = mavenReportExecution.getPlugin().getArtifactId()
-                + ':'
-                + mavenReportExecution.getPlugin().getVersion()
-                + ':'
-                + mavenReportExecution.getGoal();
-
+        this.reportMojoInfo = mavenReportExecution.getGoal() == null
+                ? null
+                : mavenReportExecution.getPlugin().getArtifactId()
+                        + ':'
+                        + mavenReportExecution.getPlugin().getVersion()
+                        + ':'
+                        + mavenReportExecution.getGoal();
         this.classLoader = mavenReportExecution.getClassLoader();
-
         this.log = log;
     }
 


[maven-site-plugin] 09/12: [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 adce15bb76f02ea0205c0df82dfdbeca795f5611
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] 12/12: [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 805ac0ef4f3fe7b737d58e968f4b098ee33700ec
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 122474b5..21c92a8c 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.
  *
@@ -92,6 +95,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] 02/12: [MSITE-949] Properly populate DocumentRenderingContext#generator for 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 9883f84f039435a8585d2c950069262f4d9887ce
Author: Michael Osipov <mi...@apache.org>
AuthorDate: Sat Apr 15 17:57:26 2023 +0200

    [MSITE-949] Properly populate DocumentRenderingContext#generator for ReportDocumentRenderer
---
 .../maven/plugins/site/render/AbstractSiteRenderingMojo.java | 12 ++++--------
 1 file changed, 4 insertions(+), 8 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 2b5d81e6..36940a07 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
@@ -342,15 +342,11 @@ public abstract class AbstractSiteRenderingMojo extends AbstractSiteDescriptorMo
                 getLog().info("Skipped \"" + report.getName(locale) + "\" report" + reportMojoInfo + ", file \""
                         + outputName + "\" already exists.");
             } else {
-                String reportMojoInfo = mavenReportExecution.getPlugin().getGroupId()
-                        + ':'
-                        + mavenReportExecution.getPlugin().getArtifactId()
-                        + ':'
-                        + mavenReportExecution.getPlugin().getVersion()
-                        + ':'
-                        + mavenReportExecution.getGoal();
+                String generator = mavenReportExecution.getGoal() == null
+                        ? null
+                        : mavenReportExecution.getPlugin().getId() + ':' + mavenReportExecution.getGoal();
                 DocumentRenderingContext docRenderingContext =
-                        new DocumentRenderingContext(siteDirectory, outputName, reportMojoInfo);
+                        new DocumentRenderingContext(siteDirectory, outputName, generator);
                 DocumentRenderer docRenderer =
                         new ReportDocumentRenderer(mavenReportExecution, docRenderingContext, getLog());
                 documents.put(outputName, docRenderer);


[maven-site-plugin] 07/12: [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 88038af41b050212548f151e727e3a67e468f5de
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(),


[maven-site-plugin] 01/12: Remove trailing period

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 df6e22417d14b15781dc622dc19c7c855eff7e88
Author: Michael Osipov <mi...@apache.org>
AuthorDate: Sat Apr 15 22:29:50 2023 +0200

    Remove trailing period
---
 .../org/apache/maven/plugins/site/render/ReportDocumentRenderer.java    | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

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 cee5657d..132ca92f 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
@@ -179,7 +179,7 @@ public class ReportDocumentRenderer implements DocumentRenderer {
         // CHECKSTYLE_OFF: MagicNumber
         log.info(
                 reportMojoInfo == null
-                        ? (msg + '.')
+                        ? msg
                         : (StringUtils.rightPad(msg, 40)
                                 + buffer().strong(" --- ").mojo(reportMojoInfo)));
         // CHECKSTYLE_ON: MagicNumber


[maven-site-plugin] 11/12: [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 6a3db0f72a97c07ef140b7c10b76b955edd81685
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    | 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: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,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;
+    }
 }


[maven-site-plugin] 04/12: [MSITE-950] Upgrade to Doxia Sitetools to 2.0.0-M8, Maven Reporting API 4.0.0-M6, Maven Reporting Impl/Exec 4.0.0-M7

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 bdd7c13a82c657c0d2d9a96e29f8845e110ae816
Author: Michael Osipov <mi...@apache.org>
AuthorDate: Sat Apr 15 19:33:35 2023 +0200

    [MSITE-950] Upgrade to Doxia Sitetools to 2.0.0-M8, Maven Reporting API 4.0.0-M6, Maven Reporting Impl/Exec 4.0.0-M7
---
 pom.xml                                                           | 6 +++---
 .../maven/plugins/site/render/AbstractSiteRenderingMojo.java      | 8 ++++++++
 2 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/pom.xml b/pom.xml
index 60401bdb..6ab2ff94 100644
--- a/pom.xml
+++ b/pom.xml
@@ -198,7 +198,7 @@ under the License.
     <!-- for dependencies -->
     <jettyVersion>9.4.50.v20221201</jettyVersion>
     <doxiaVersion>2.0.0-M6</doxiaVersion>
-    <doxiaSitetoolsVersion>2.0.0-M7</doxiaSitetoolsVersion>
+    <doxiaSitetoolsVersion>2.0.0-M8</doxiaSitetoolsVersion>
     <wagonVersion>3.5.3</wagonVersion>
     <slf4jVersion>1.7.36</slf4jVersion>
     <!-- for ITs -->
@@ -209,7 +209,7 @@ under the License.
     <projectInfoReportsPluginVersion>3.4.2</projectInfoReportsPluginVersion>
     <surefirePluginVersion>3.0.0</surefirePluginVersion>
     <mavenPluginPluginVersion>3.8.1</mavenPluginPluginVersion>
-    <mavenReportingImplVersion>4.0.0-M6</mavenReportingImplVersion>
+    <mavenReportingImplVersion>4.0.0-M7</mavenReportingImplVersion>
     <fluidoSkinVersion>2.0.0-M3</fluidoSkinVersion>
     <surefire.version>3.0.0</surefire.version>
     <project.build.outputTimestamp>2023-04-08T16:17:12Z</project.build.outputTimestamp>
@@ -225,7 +225,7 @@ under the License.
     <dependency>
       <groupId>org.apache.maven.reporting</groupId>
       <artifactId>maven-reporting-exec</artifactId>
-      <version>2.0.0-M6</version>
+      <version>2.0.0-M7</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.shared</groupId>
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 36940a07..82a4eed3 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
@@ -46,6 +46,7 @@ import org.apache.maven.doxia.tools.SiteToolException;
 import org.apache.maven.execution.MavenSession;
 import org.apache.maven.model.ReportPlugin;
 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;
@@ -119,6 +120,12 @@ public abstract class AbstractSiteRenderingMojo extends AbstractSiteDescriptorMo
     @Parameter(defaultValue = "${session}", readonly = true, required = true)
     protected MavenSession mavenSession;
 
+    /**
+     * The mojo execution
+     */
+    @Parameter(defaultValue = "${mojoExecution}", readonly = true, required = true)
+    protected MojoExecution mojoExecution;
+
     /**
      * replaces previous reportPlugins parameter, that was injected by Maven core from
      * reporting section: but this new configuration format has been abandoned.
@@ -192,6 +199,7 @@ public abstract class AbstractSiteRenderingMojo extends AbstractSiteDescriptorMo
     protected List<MavenReportExecution> getReports() throws MojoExecutionException {
         MavenReportExecutorRequest mavenReportExecutorRequest = new MavenReportExecutorRequest();
         mavenReportExecutorRequest.setMavenSession(mavenSession);
+        mavenReportExecutorRequest.setExecutionId(mojoExecution.getExecutionId());
         mavenReportExecutorRequest.setProject(project);
         mavenReportExecutorRequest.setReportPlugins(getReportingPlugins());
 


[maven-site-plugin] 03/12: Remove unused import

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 4e61a2ed9e8f2abff7b57a3b546600127db6737f
Author: Michael Osipov <mi...@apache.org>
AuthorDate: Sat Apr 15 18:21:42 2023 +0200

    Remove unused import
---
 .../maven/plugins/site/render/CategorySummaryDocumentRenderer.java       | 1 -
 1 file changed, 1 deletion(-)

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 db5d577e..b9080ffa 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,7 +24,6 @@ import java.util.Collections;
 import java.util.List;
 import java.util.Locale;
 
-import org.apache.maven.doxia.sink.Sink;
 import org.apache.maven.doxia.siterenderer.DocumentRenderer;
 import org.apache.maven.doxia.siterenderer.DocumentRenderingContext;
 import org.apache.maven.doxia.siterenderer.RendererException;