You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by ev...@apache.org on 2005/05/07 14:03:10 UTC
svn commit: r169073 -
/maven/components/trunk/maven-plugins/maven-site-plugin/src/main/java/org/apache/maven/doxia/DoxiaMojo.java
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: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org