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 2022/11/20 16:32:28 UTC
[maven-site-plugin] 01/01: [MSITE-912] Reporting plugins never executed if more than one locale is configured
This is an automated email from the ASF dual-hosted git repository.
michaelo pushed a commit to branch MSITE-812
in repository https://gitbox.apache.org/repos/asf/maven-site-plugin.git
commit 0e1362fd6ac2f746f57914c37ab8e86b934e6412
Author: Michael Osipov <mi...@apache.org>
AuthorDate: Sat Nov 19 23:22:16 2022 +0100
[MSITE-912] Reporting plugins never executed if more than one locale is configured
Don't clear reports list since the next locale will need it to repeat generation.
This closes #110
---
src/it/projects/site-sd-lang/verify.bsh | 58 ++++++++++++++++++++++
.../site/render/AbstractSiteRenderingMojo.java | 7 +--
2 files changed, 59 insertions(+), 6 deletions(-)
diff --git a/src/it/projects/site-sd-lang/verify.bsh b/src/it/projects/site-sd-lang/verify.bsh
index 0d1f6f56..3a029733 100644
--- a/src/it/projects/site-sd-lang/verify.bsh
+++ b/src/it/projects/site-sd-lang/verify.bsh
@@ -26,6 +26,64 @@ boolean result = true;
try
{
+ // SITE
+
+ File topLevelDirectory = new File( basedir, "target/site" );
+ if ( !topLevelDirectory.exists() || !topLevelDirectory.isDirectory() )
+ {
+ System.err.println( "Site directory '" + topLevelDirectory + "' is missing or not a directory." );
+ return false;
+ }
+
+ File moduleDirectory = new File( basedir, "mymodule/target/site" );
+ if ( !moduleDirectory.exists() || !moduleDirectory.isDirectory() )
+ {
+ System.err.println( "Site module directory '" + moduleDirectory + "' is missing or not a directory." );
+ return false;
+ }
+
+ File projectInfoDirectory = new File( topLevelDirectory, "project-info.html" );
+ if ( !projectInfoDirectory.exists() || !projectInfoDirectory.isFile() )
+ {
+ System.err.println( "Site project-info.html '" + projectInfoDirectory + "' is missing or not a file." );
+ return false;
+ }
+
+ File frDirectory = new File( topLevelDirectory, "fr" );
+ if ( !frDirectory.exists() || !frDirectory.isDirectory() )
+ {
+ System.err.println( "Site fr directory '" + frDirectory + "' is missing or not a directory." );
+ return false;
+ }
+
+ File frProjectInfoDirectory = new File( frDirectory, "project-info.html" );
+ if ( !frProjectInfoDirectory.exists() || !frProjectInfoDirectory.isFile() )
+ {
+ System.err.println( "Site fr project-info.html '" + frProjectInfoDirectory + "' is missing or not a file." );
+ return false;
+ }
+
+ File frModuleDirectory = new File( moduleDirectory, "fr" );
+ if ( !frModuleDirectory.exists() || !frModuleDirectory.isDirectory() )
+ {
+ System.err.println( "Site fr module directory '" + frModuleDirectory + "' is missing or not a directory." );
+ return false;
+ }
+
+ File moduleProjectInfoDirectory = new File( moduleDirectory, "project-info.html" );
+ if ( !moduleProjectInfoDirectory.exists() || !moduleProjectInfoDirectory.isFile() )
+ {
+ System.err.println( "Site module project-info.html '" + moduleProjectInfoDirectory + "' is missing or not a file." );
+ return false;
+ }
+
+ File frModuleProjectInfoDirectory = new File( frModuleDirectory, "project-info.html" );
+ if ( !frModuleProjectInfoDirectory.exists() || !frModuleProjectInfoDirectory.isFile() )
+ {
+ System.err.println( "Site fr module project-info.html '" + frModuleProjectInfoDirectory + "' is missing or not a file." );
+ return false;
+ }
+
// STAGING
File topLevelDirectory = new File( basedir, "target/staging" );
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 589470f0..898b584e 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
@@ -356,11 +356,8 @@ public abstract class AbstractSiteRenderingMojo extends AbstractSiteDescriptorMo
protected Map<String, MavenReport> locateReports( List<MavenReportExecution> reports,
Map<String, DocumentRenderer> documents, Locale locale )
{
- // copy Collection to prevent ConcurrentModificationException
- List<MavenReportExecution> filtered = new ArrayList<>( reports );
-
Map<String, MavenReport> reportsByOutputName = new LinkedHashMap<>();
- for ( MavenReportExecution mavenReportExecution : filtered )
+ for ( MavenReportExecution mavenReportExecution : reports )
{
MavenReport report = mavenReportExecution.getMavenReport();
@@ -378,8 +375,6 @@ public abstract class AbstractSiteRenderingMojo extends AbstractSiteDescriptorMo
getLog().info( "Skipped \"" + report.getName( locale ) + "\" report" + reportMojoInfo + ", file \""
+ outputName + "\" already exists." );
-
- reports.remove( mavenReportExecution );
}
else
{