diff --git a/maven-plugins/maven-site-plugin/src/main/java/org/apache/maven/doxia/DoxiaMojo.java b/maven-plugins/maven-site-plugin/src/main/java/org/apache/maven/doxia/DoxiaMojo.java index 2da67da784..d9e42d85f1 100644 --- a/maven-plugins/maven-site-plugin/src/main/java/org/apache/maven/doxia/DoxiaMojo.java +++ b/maven-plugins/maven-site-plugin/src/main/java/org/apache/maven/doxia/DoxiaMojo.java @@ -151,6 +151,12 @@ public class DoxiaMojo */ private String locales; + /** + * @parameter expression="${addModules}" + * default-value="true" + */ + private boolean addModules; + /** * @parameter expression="${component.org.codehaus.plexus.siterenderer.Renderer}" * @required @@ -443,6 +449,26 @@ public void execute() { copyDirectory( resourcesDirectory, localeOutputDirectory ); } + + // Copy the generated site in parent site if needed to provide module links + if ( addModules ) + { + MavenProject parentProject = project.getParent(); + if ( parentProject != null ) + { + // TODO Handle user plugin configuration + File parentSiteDir = new File( parentProject.getBasedir(), parentProject.getBuild().getDirectory() + + File.separator + "site" + File.separator + project.getArtifactId() ); + + if ( !parentSiteDir.exists() ) + { + parentSiteDir.mkdirs(); + } + + File siteDir = new File( outputDirectory ); + FileUtils.copyDirectoryStructure( siteDir, parentSiteDir ); + } + } } } catch ( MavenReportException e ) @@ -484,8 +510,9 @@ else if ( MavenReport.CATEGORY_PROJECT_REPORTS.equals( report.getCategoryName() private String getReportsMenu( Locale locale ) { StringBuffer buffer = new StringBuffer(); - // TODO i18n - buffer.append( "