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 <[email protected]> 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 {
