Author: evenisse
Date: Sat May 7 05:03:10 2005
New Revision: 169073
URL: http://svn.apache.org/viewcvs?rev=169073&view=rev
Log:
Generate reports links in menu
Modified:
maven/components/trunk/maven-plugins/maven-site-plugin/src/main/java/org/apache/maven/doxia/DoxiaMojo.java
Modified:
maven/components/trunk/maven-plugins/maven-site-plugin/src/main/java/org/apache/maven/doxia/DoxiaMojo.java
URL:
http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugins/maven-site-plugin/src/main/java/org/apache/maven/doxia/DoxiaMojo.java?rev=169073&r1=169072&r2=169073&view=diff
==============================================================================
---
maven/components/trunk/maven-plugins/maven-site-plugin/src/main/java/org/apache/maven/doxia/DoxiaMojo.java
(original)
+++
maven/components/trunk/maven-plugins/maven-site-plugin/src/main/java/org/apache/maven/doxia/DoxiaMojo.java
Sat May 7 05:03:10 2005
@@ -23,8 +23,12 @@
import org.apache.maven.reporting.MavenReport;
import org.apache.maven.reporting.MavenReportConfiguration;
import org.codehaus.doxia.site.renderer.SiteRenderer;
+import org.codehaus.plexus.util.FileUtils;
+import org.codehaus.plexus.util.StringInputStream;
+import org.codehaus.plexus.util.StringUtils;
import java.io.File;
+import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -124,12 +128,44 @@
}
}
- siteRenderer.render( siteDirectory, generatedSiteDirectory,
outputDirectory, flavour );
+ File siteDescriptor = new File( siteDirectory, "site.xml" );
+ if ( !siteDescriptor.exists() )
+ {
+ throw new MojoExecutionException( "The site descriptor is not
present!" );
+ }
+ String siteDescriptorContent = FileUtils.fileRead( siteDescriptor
);
+ Map props = new HashMap();
+ if ( reports != null )
+ {
+ props.put( "reports", getReportsMenu() );
+ }
+ siteDescriptorContent = StringUtils.interpolate(
siteDescriptorContent, props );
+ StringInputStream siteDescriptorStream = new StringInputStream(
siteDescriptorContent );
+
+ siteRenderer.render( siteDirectory, generatedSiteDirectory,
outputDirectory, flavour,
+ siteDescriptorStream );
}
catch ( Exception e )
{
// TODO: handle it better
throw new MojoExecutionException( "Error during site generation",
e );
}
+ }
+ private String getReportsMenu()
+ {
+ StringBuffer buffer = new StringBuffer();
+ buffer.append( "<menu name=\"Project Documentation\">\n" );
+ buffer.append( " <item name=\"About " + project.getName() + "\"
href=\"/index.html\"/>\n");
+ buffer.append( " <item name=\"Project reports\"
href=\"/maven-reports.html\" collapse=\"true\">\n" );
+
+ for ( Iterator i = reports.keySet().iterator(); i.hasNext(); )
+ {
+ String reportKey = (String) i.next();
+ buffer.append( " <item name=\"" + reportKey + "\" href=\"/"
+ reportKey + ".html\"/>\n" );
+ }
+
+ buffer.append( " </item>\n" );
+ buffer.append( "</menu>\n" );
+ return buffer.toString();
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]