Author: hboutemy
Date: Sun May 12 16:53:50 2013
New Revision: 1481603
URL: http://svn.apache.org/r1481603
Log:
[MPIR-232] when packaging is pom, add modules report in the default index
Modified:
maven/plugins/trunk/maven-project-info-reports-plugin/src/it/mpir-229/pom.xml
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/AbstractProjectInfoRenderer.java
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/ModulesReport.java
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/ProjectIndexPageReport.java
Modified:
maven/plugins/trunk/maven-project-info-reports-plugin/src/it/mpir-229/pom.xml
URL:
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-project-info-reports-plugin/src/it/mpir-229/pom.xml?rev=1481603&r1=1481602&r2=1481603&view=diff
==============================================================================
---
maven/plugins/trunk/maven-project-info-reports-plugin/src/it/mpir-229/pom.xml
(original)
+++
maven/plugins/trunk/maven-project-info-reports-plugin/src/it/mpir-229/pom.xml
Sun May 12 16:53:50 2013
@@ -80,6 +80,7 @@
<reportSets>
<reportSet>
<reports>
+ <report>index</report>
<report>modules</report>
</reports>
</reportSet>
Modified:
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/AbstractProjectInfoRenderer.java
URL:
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/AbstractProjectInfoRenderer.java?rev=1481603&r1=1481602&r2=1481603&view=diff
==============================================================================
---
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/AbstractProjectInfoRenderer.java
(original)
+++
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/AbstractProjectInfoRenderer.java
Sun May 12 16:53:50 2013
@@ -30,9 +30,9 @@ import org.codehaus.plexus.util.StringUt
public abstract class AbstractProjectInfoRenderer
extends AbstractMavenReportRenderer
{
- private I18N i18n;
+ protected I18N i18n;
- private Locale locale;
+ protected Locale locale;
public AbstractProjectInfoRenderer( Sink sink, I18N i18n, Locale locale )
{
Modified:
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/ModulesReport.java
URL:
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/ModulesReport.java?rev=1481603&r1=1481602&r2=1481603&view=diff
==============================================================================
---
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/ModulesReport.java
(original)
+++
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/ModulesReport.java
Sun May 12 16:53:50 2013
@@ -20,18 +20,12 @@ package org.apache.maven.report.projecti
*/
import org.apache.maven.doxia.sink.Sink;
+import org.apache.maven.doxia.tools.SiteTool;
import org.apache.maven.model.Model;
-import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
import org.apache.maven.plugins.annotations.Mojo;
import org.apache.maven.project.MavenProject;
import org.codehaus.plexus.i18n.I18N;
-import org.codehaus.plexus.util.IOUtil;
-import org.codehaus.plexus.util.ReaderFactory;
-import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.Reader;
+
import java.util.List;
import java.util.Locale;
@@ -53,7 +47,7 @@ public class ModulesReport
@Override
public void executeReport( Locale locale )
{
- new ModulesRenderer( getSink(), getProject().getModel(), getI18N(
locale ), locale ).render();
+ new ModulesRenderer( getSink(), getProject(), getI18N( locale ),
locale, siteTool ).render();
}
/** {@inheritDoc} */
@@ -81,16 +75,19 @@ public class ModulesReport
/**
* Internal renderer class
*/
- private class ModulesRenderer
+ static class ModulesRenderer
extends AbstractProjectInfoRenderer
{
- private Model model;
+ protected MavenProject project;
+
+ protected SiteTool siteTool;
- ModulesRenderer( Sink sink, Model model, I18N i18n, Locale locale )
+ ModulesRenderer( Sink sink, MavenProject project, I18N i18n, Locale
locale, SiteTool siteTool )
{
super( sink, i18n, locale );
- this.model = model;
+ this.project = project;
+ this.siteTool = siteTool;
}
@Override
@@ -132,70 +129,37 @@ public class ModulesReport
endSection();
}
- }
-
- // adapted from DefaultSiteTool#appendMenuItem
- private String getRelativeLink( String baseUrl, String href, String
defaultHref )
- {
- String selectedHref = href;
- if ( selectedHref == null )
+ // adapted from DefaultSiteTool#appendMenuItem
+ private String getRelativeLink( String baseUrl, String href, String
defaultHref )
{
- selectedHref = defaultHref;
- }
-
- if ( baseUrl != null )
- {
- selectedHref = siteTool.getRelativePath( selectedHref, baseUrl );
- }
+ String selectedHref = href;
- if ( selectedHref.endsWith( "/" ) )
- {
- selectedHref = selectedHref.concat( "index.html" );
- }
- else
- {
- selectedHref = selectedHref.concat( "/index.html" );
- }
-
- return selectedHref;
- }
+ if ( selectedHref == null )
+ {
+ selectedHref = defaultHref;
+ }
- private String linkedName( String name, String link )
- {
- return "{" + name + ", ./" + link + "}";
- }
+ if ( baseUrl != null )
+ {
+ selectedHref = siteTool.getRelativePath( selectedHref, baseUrl
);
+ }
- /**
- * Gets the pom model for this file.
- *
- * @param pom the pom
- *
- * @return the model
- */
- private Model readModel ( File pom )
- {
- MavenXpp3Reader xpp3 = new MavenXpp3Reader();
- Reader reader = null;
+ if ( selectedHref.endsWith( "/" ) )
+ {
+ selectedHref = selectedHref.concat( "index.html" );
+ }
+ else
+ {
+ selectedHref = selectedHref.concat( "/index.html" );
+ }
- try
- {
- reader = ReaderFactory.newXmlReader( pom );
- return xpp3.read( reader );
- }
- catch ( IOException io )
- {
- getLog().debug( io );
- return null;
- }
- catch ( XmlPullParserException xe )
- {
- getLog().debug( xe );
- return null;
+ return selectedHref;
}
- finally
+
+ private String linkedName( String name, String link )
{
- IOUtil.close( reader );
+ return "{" + name + ", ./" + link + "}";
}
}
}
Modified:
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/ProjectIndexPageReport.java
URL:
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/ProjectIndexPageReport.java?rev=1481603&r1=1481602&r2=1481603&view=diff
==============================================================================
---
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/ProjectIndexPageReport.java
(original)
+++
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/ProjectIndexPageReport.java
Sun May 12 16:53:50 2013
@@ -20,8 +20,10 @@ package org.apache.maven.report.projecti
*/
import org.apache.maven.doxia.sink.Sink;
+import org.apache.maven.doxia.tools.SiteTool;
import org.apache.maven.plugins.annotations.Mojo;
-import org.apache.maven.reporting.AbstractMavenReportRenderer;
+import org.apache.maven.project.MavenProject;
+import org.codehaus.plexus.i18n.I18N;
import java.util.Locale;
@@ -67,7 +69,8 @@ public class ProjectIndexPageReport
public void executeReport( Locale locale )
{
ProjectIndexRenderer r =
- new ProjectIndexRenderer( getName( locale ), project.getName(),
getDescription( locale ), getSink() );
+ new ProjectIndexRenderer( project, getName( locale ),
getDescription( locale ), getSink(),
+ getI18N( locale ), locale, siteTool );
r.render();
}
@@ -92,38 +95,43 @@ public class ProjectIndexPageReport
* Internal renderer class
*/
private static class ProjectIndexRenderer
- extends AbstractMavenReportRenderer
+ extends ModulesReport.ModulesRenderer
{
private final String title;
private final String description;
- private final String name;
+ private boolean modules = false;
- ProjectIndexRenderer( String title, String name, String description,
Sink sink )
+ ProjectIndexRenderer( MavenProject project, String title, String
description, Sink sink, I18N i18n,
+ Locale locale, SiteTool siteTool )
{
- super( sink );
+ super( sink, project, i18n, locale, siteTool );
this.title = title;
this.description = description;
-
- this.name = name;
}
@Override
public String getTitle()
{
- return title;
+ return modules ? super.getTitle() : title;
}
@Override
public void renderBody()
{
- startSection( title.trim() + " " + name );
+ startSection( title.trim() + " " + project.getName() );
paragraph( description );
+ if ( !project.getModules().isEmpty() )
+ {
+ modules = true;
+ super.renderBody();
+ }
+
endSection();
}
}