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 15:00:48 UTC
svn commit: r169076 -
/maven/components/trunk/maven-plugins/maven-site-plugin/src/main/java/org/apache/maven/doxia
/maven/components/trunk/maven-reporting/maven-reporting-api/src/main/java/org/apache/maven/reporting
Author: evenisse
Date: Sat May 7 06:00:47 2005
New Revision: 169076
URL: http://svn.apache.org/viewcvs?rev=169076&view=rev
Log:
Report generate directly xhtml file
Modified:
maven/components/trunk/maven-plugins/maven-site-plugin/src/main/java/org/apache/maven/doxia/DoxiaMojo.java
maven/components/trunk/maven-reporting/maven-reporting-api/src/main/java/org/apache/maven/reporting/AbstractMavenReport.java
maven/components/trunk/maven-reporting/maven-reporting-api/src/main/java/org/apache/maven/reporting/MavenReport.java
maven/components/trunk/maven-reporting/maven-reporting-api/src/main/java/org/apache/maven/reporting/MavenReportConfiguration.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=169076&r1=169075&r2=169076&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 06:00:47 2005
@@ -22,12 +22,15 @@
import org.apache.maven.project.MavenProject;
import org.apache.maven.reporting.MavenReport;
import org.apache.maven.reporting.MavenReportConfiguration;
+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.InputStream;
+import java.io.IOException;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
@@ -44,6 +47,12 @@
extends AbstractMojo
{
/**
+ * @parameter expression="${basedir}"
+ * @required
+ */
+ private String basedir;
+
+ /**
* @parameter expression="${basedir}/src/site"
* @required
*/
@@ -124,26 +133,16 @@
report.setConfiguration( config );
- report.generate();
- }
- }
+ XhtmlSink sink = siteRenderer.createSink( new File( siteDirectory ), siteDirectory,
+ report.getOutputName() + ".html",
+ outputDirectory, getSiteDescriptor(), 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() );
+ report.generate( sink );
+ }
}
- siteDescriptorContent = StringUtils.interpolate( siteDescriptorContent, props );
- StringInputStream siteDescriptorStream = new StringInputStream( siteDescriptorContent );
siteRenderer.render( siteDirectory, generatedSiteDirectory, outputDirectory, flavour,
- siteDescriptorStream );
+ getSiteDescriptor() );
}
catch ( Exception e )
{
@@ -151,6 +150,7 @@
throw new MojoExecutionException( "Error during site generation", e );
}
}
+
private String getReportsMenu()
{
StringBuffer buffer = new StringBuffer();
@@ -167,5 +167,38 @@
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();
+
+ if ( reports != null )
+ {
+ props.put( "reports", getReportsMenu() );
+ }
+
+ siteDescriptorContent = StringUtils.interpolate( siteDescriptorContent, props );
+
+ return new StringInputStream( siteDescriptorContent );
}
}
Modified: maven/components/trunk/maven-reporting/maven-reporting-api/src/main/java/org/apache/maven/reporting/AbstractMavenReport.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-reporting/maven-reporting-api/src/main/java/org/apache/maven/reporting/AbstractMavenReport.java?rev=169076&r1=169075&r2=169076&view=diff
==============================================================================
--- maven/components/trunk/maven-reporting/maven-reporting-api/src/main/java/org/apache/maven/reporting/AbstractMavenReport.java (original)
+++ maven/components/trunk/maven-reporting/maven-reporting-api/src/main/java/org/apache/maven/reporting/AbstractMavenReport.java Sat May 7 06:00:47 2005
@@ -23,11 +23,19 @@
import java.io.FileWriter;
import java.io.IOException;
+/**
+ * The basis for a Maven report.
+ *
+ * @author <a href="evenisse@apache.org">Emmanuel Venisse</a>
+ * @version $Id: MavenReport.java 163376 2005-02-23 00:06:06Z brett $
+ */
public abstract class AbstractMavenReport
implements MavenReport
{
private MavenReportConfiguration config;
+ private Sink sink;
+
public MavenReportConfiguration getConfiguration()
{
return config;
@@ -38,7 +46,7 @@
this.config = config;
}
- public void generate()
+ public void generate( Sink sink )
throws MavenReportException
{
if ( config == null )
@@ -46,6 +54,15 @@
throw new MavenReportException( "You must specify a report configuration." );
}
+ if ( sink == null )
+ {
+ throw new MavenReportException( "You must specify a sink configuration." );
+ }
+ else
+ {
+ this.sink = sink;
+ }
+
execute();
}
@@ -55,20 +72,6 @@
public Sink getSink()
throws IOException
{
- return getSink( getOutputName() );
- }
-
- public Sink getSink( String outputName )
- throws IOException
- {
- File outputDir = new File( config.getOutputDirectory(), "xdoc/" );
-
- outputDir.mkdirs();
-
- File outputFile = new File( outputDir, outputName + ".xml" );
-
- FileWriter writer = new FileWriter( outputFile );
-
- return new XdocSink( writer );
+ return sink;
}
}
Modified: maven/components/trunk/maven-reporting/maven-reporting-api/src/main/java/org/apache/maven/reporting/MavenReport.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-reporting/maven-reporting-api/src/main/java/org/apache/maven/reporting/MavenReport.java?rev=169076&r1=169075&r2=169076&view=diff
==============================================================================
--- maven/components/trunk/maven-reporting/maven-reporting-api/src/main/java/org/apache/maven/reporting/MavenReport.java (original)
+++ maven/components/trunk/maven-reporting/maven-reporting-api/src/main/java/org/apache/maven/reporting/MavenReport.java Sat May 7 06:00:47 2005
@@ -36,14 +36,11 @@
void setConfiguration( MavenReportConfiguration config );
- void generate()
+ void generate( Sink sink )
throws MavenReportException;
String getOutputName();
Sink getSink()
- throws IOException;
-
- Sink getSink( String outputName )
throws IOException;
}
Modified: maven/components/trunk/maven-reporting/maven-reporting-api/src/main/java/org/apache/maven/reporting/MavenReportConfiguration.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-reporting/maven-reporting-api/src/main/java/org/apache/maven/reporting/MavenReportConfiguration.java?rev=169076&r1=169075&r2=169076&view=diff
==============================================================================
--- maven/components/trunk/maven-reporting/maven-reporting-api/src/main/java/org/apache/maven/reporting/MavenReportConfiguration.java (original)
+++ maven/components/trunk/maven-reporting/maven-reporting-api/src/main/java/org/apache/maven/reporting/MavenReportConfiguration.java Sat May 7 06:00:47 2005
@@ -32,6 +32,8 @@
private File outputDirectory;
+ private File basedir;
+
public File getOutputDirectory()
{
return outputDirectory;
@@ -40,6 +42,16 @@
public void setOutputDirectory( File outputDirectory )
{
this.outputDirectory = outputDirectory;
+ }
+
+ public File getBasedir()
+ {
+ return basedir;
+ }
+
+ public void setBasedir( File basedir )
+ {
+ this.basedir = basedir;
}
public Model getModel()
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org