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