Author: evenisse
Date: Sat May 7 06:30:01 2005
New Revision: 169078
URL: http://svn.apache.org/viewcvs?rev=169078&view=rev
Log:
Update to new reporting-api
Modified:
maven/components/trunk/sandbox/maven-reports/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle/CheckstyleReportMojo.java
Modified:
maven/components/trunk/sandbox/maven-reports/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle/CheckstyleReportMojo.java
URL:
http://svn.apache.org/viewcvs/maven/components/trunk/sandbox/maven-reports/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle/CheckstyleReportMojo.java?rev=169078&r1=169077&r2=169078&view=diff
==============================================================================
---
maven/components/trunk/sandbox/maven-reports/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle/CheckstyleReportMojo.java
(original)
+++
maven/components/trunk/sandbox/maven-reports/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle/CheckstyleReportMojo.java
Sat May 7 06:30:01 2005
@@ -22,10 +22,19 @@
import org.apache.maven.reporting.MavenReport;
import org.apache.maven.reporting.MavenReportConfiguration;
import org.apache.maven.reporting.MavenReportException;
+import org.codehaus.doxia.module.xhtml.XhtmlSink;
+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.io.FileWriter;
+import java.io.InputStream;
+import java.io.IOException;
+import java.util.HashMap;
import java.util.HashSet;
+import java.util.Map;
import java.util.Set;
/**
@@ -39,12 +48,36 @@
extends AbstractMojo
{
/**
- * @parameter alias="workingDirectory"
expression="${project.build.directory}/site-generated"
+ * @parameter expression="${basedir}"
+ * @required
+ */
+ private String basedir;
+
+ /**
+ * @parameter expression="${basedir}/src/site"
+ * @required
+ */
+ private String siteDirectory;
+
+ /**
+ * @parameter expression="${project.build.directory}/site"
* @required
*/
private String outputDirectory;
/**
+ * @parameter alias="flavor"
+ */
+ private String flavour = "maven";
+
+ /**
+ * @parameter
expression="${component.org.codehaus.doxia.site.renderer.SiteRenderer}"
+ * @required
+ * @readonly
+ */
+ private SiteRenderer siteRenderer;
+
+ /**
* @parameter expression="${project}"
* @required
* @readonly
@@ -66,11 +99,61 @@
try
{
- report.generate();
+ XhtmlSink sink = siteRenderer.createSink( new File( siteDirectory
), siteDirectory,
+ report.getOutputName() +
".html",
+ outputDirectory,
getSiteDescriptor(), flavour );
+
+ siteRenderer.copyResources( siteDirectory, outputDirectory,
flavour );
+
+ report.generate( sink );
}
- catch ( MavenReportException e )
+ catch ( Exception e )
{
throw new MojoExecutionException( "An error is occurred in the
Checkstyle report 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" );
+
+ buffer.append( " <item name=\"Checkstyle\"
href=\"/checkstyle.html\"/>\n" );
+
+ buffer.append( " </item>\n" );
+ buffer.append( "</menu>\n" );
+ return buffer.toString();
+ }
+
+ private InputStream getSiteDescriptor()
+ throws MojoExecutionException
+ {
+ File siteDescriptor = new File( siteDirectory, "site.xml" );
+
+ if ( !siteDescriptor.exists() )
+ {
+ throw new MojoExecutionException( "The site descriptor is not
present!" );
+ }
+
+ String siteDescriptorContent = "";
+
+ try
+ {
+ siteDescriptorContent = FileUtils.fileRead( siteDescriptor );
+ }
+ catch( IOException e )
+ {
+ throw new MojoExecutionException( "The site descriptor cannot be
read!", e );
+ }
+
+ Map props = new HashMap();
+
+ props.put( "reports", getReportsMenu() );
+
+ siteDescriptorContent = StringUtils.interpolate(
siteDescriptorContent, props );
+
+ return new StringInputStream( siteDescriptorContent );
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]