You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by vs...@apache.org on 2006/08/21 18:28:12 UTC

svn commit: r433277 - in /maven/plugins/trunk: maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/mojos/ maven-changelog-plugin/src/main/java/org/apache/maven/changelog/ maven-changes-plugin/src/main/java/org/apache/maven/plugin/chang...

Author: vsiveton
Date: Mon Aug 21 09:28:06 2006
New Revision: 433277

URL: http://svn.apache.org/viewvc?rev=433277&view=rev
Log:
MSITE-138: site:stage does not create xref

o replaced all annotations for outputdirectory in Mojo Reports: ${project.build.directory}/site =>  ${project.reporting.outputDirectory}
o setReportOutputDirectory() in all Mojo reports (if required).
o handle outputdirectory for external reports in SiteRunMojo and in DoxiaFilter
o handle NPE for dependencies when site:run is called (due to MPIR-55)



Modified:
    maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/mojos/AbstractAssemblyMojo.java
    maven/plugins/trunk/maven-changelog-plugin/src/main/java/org/apache/maven/changelog/ChangeLogReport.java
    maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/changes/ChangesMojo.java
    maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/jira/JiraMojo.java
    maven/plugins/trunk/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle/CheckstyleReport.java
    maven/plugins/trunk/maven-clover-plugin/src/main/java/org/apache/maven/plugin/clover/CloverReportMojo.java
    maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/AbstractJavadocMojo.java
    maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/JavadocReport.java
    maven/plugins/trunk/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/AbstractJxrReport.java
    maven/plugins/trunk/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/JxrReport.java
    maven/plugins/trunk/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/JxrTestReport.java
    maven/plugins/trunk/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/AbstractPmdReport.java
    maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/DependenciesReport.java
    maven/plugins/trunk/maven-project-info-reports-plugin/src/main/resources/project-info-report.properties
    maven/plugins/trunk/maven-project-info-reports-plugin/src/main/resources/project-info-report_fr.properties
    maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/ReportDocumentRenderer.java
    maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/SiteRunMojo.java
    maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/webapp/DoxiaFilter.java
    maven/plugins/trunk/maven-surefire-report-plugin/src/main/java/org/apache/maven/plugins/surefire/report/SurefireReportMojo.java

Modified: maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/mojos/AbstractAssemblyMojo.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/mojos/AbstractAssemblyMojo.java?rev=433277&r1=433276&r2=433277&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/mojos/AbstractAssemblyMojo.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/mojos/AbstractAssemblyMojo.java Mon Aug 21 09:28:06 2006
@@ -186,7 +186,7 @@
     /**
      * Directory for site generated.
      *
-     * @parameter default-value="${project.build.directory}/site"
+     * @parameter default-value="${project.reporting.outputDirectory}"
      * @readonly
      */
     private File siteDirectory;

Modified: maven/plugins/trunk/maven-changelog-plugin/src/main/java/org/apache/maven/changelog/ChangeLogReport.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-changelog-plugin/src/main/java/org/apache/maven/changelog/ChangeLogReport.java?rev=433277&r1=433276&r2=433277&view=diff
==============================================================================
--- maven/plugins/trunk/maven-changelog-plugin/src/main/java/org/apache/maven/changelog/ChangeLogReport.java (original)
+++ maven/plugins/trunk/maven-changelog-plugin/src/main/java/org/apache/maven/changelog/ChangeLogReport.java Mon Aug 21 09:28:06 2006
@@ -200,7 +200,7 @@
     /**
      * The directory where the report will be generated
      *
-     * @parameter expression="${project.build.directory}/site"
+     * @parameter expression="${project.reporting.outputDirectory}"
      * @required
      * @readonly
      */

Modified: maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/changes/ChangesMojo.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/changes/ChangesMojo.java?rev=433277&r1=433276&r2=433277&view=diff
==============================================================================
--- maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/changes/ChangesMojo.java (original)
+++ maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/changes/ChangesMojo.java Mon Aug 21 09:28:06 2006
@@ -41,7 +41,7 @@
     /**
      * Directory where reports will go.
      *
-     * @parameter expression="${project.build.directory}/site "
+     * @parameter expression="${project.reporting.outputDirectory}"
      * @required
      * @readonly
      */

Modified: maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/jira/JiraMojo.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/jira/JiraMojo.java?rev=433277&r1=433276&r2=433277&view=diff
==============================================================================
--- maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/jira/JiraMojo.java (original)
+++ maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/jira/JiraMojo.java Mon Aug 21 09:28:06 2006
@@ -39,7 +39,7 @@
     /**
      * Output Directory of the report.
      * 
-     * @parameter expression="${project.build.directory}/site "
+     * @parameter expression="${project.reporting.outputDirectory}"
      * @required
      * @readonly
      */

Modified: maven/plugins/trunk/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle/CheckstyleReport.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle/CheckstyleReport.java?rev=433277&r1=433276&r2=433277&view=diff
==============================================================================
--- maven/plugins/trunk/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle/CheckstyleReport.java (original)
+++ maven/plugins/trunk/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle/CheckstyleReport.java Mon Aug 21 09:28:06 2006
@@ -387,7 +387,7 @@
     /**
      * Location of the Xrefs to link to.
      *
-     * @parameter default-value="${project.build.directory}/site/xref"
+     * @parameter default-value="${project.reporting.outputDirectory}/xref"
      */
     private File xrefLocation;
 
@@ -1035,5 +1035,14 @@
     {
         // TODO: would be good to scan the files here
         return sourceDirectory.exists();
+    }
+
+    /**
+     * @see org.apache.maven.reporting.AbstractMavenReport#setReportOutputDirectory(java.io.File)
+     */
+    public void setReportOutputDirectory( File reportOutputDirectory )
+    {
+        super.setReportOutputDirectory( reportOutputDirectory );
+        this.outputDirectory = reportOutputDirectory;
     }
 }

Modified: maven/plugins/trunk/maven-clover-plugin/src/main/java/org/apache/maven/plugin/clover/CloverReportMojo.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-clover-plugin/src/main/java/org/apache/maven/plugin/clover/CloverReportMojo.java?rev=433277&r1=433276&r2=433277&view=diff
==============================================================================
--- maven/plugins/trunk/maven-clover-plugin/src/main/java/org/apache/maven/plugin/clover/CloverReportMojo.java (original)
+++ maven/plugins/trunk/maven-clover-plugin/src/main/java/org/apache/maven/plugin/clover/CloverReportMojo.java Mon Aug 21 09:28:06 2006
@@ -389,4 +389,19 @@
 
         return canGenerate;
     }
+
+    /**
+     * @see org.apache.maven.reporting.AbstractMavenReport#setReportOutputDirectory(java.io.File)
+     */
+    public void setReportOutputDirectory( File reportOutputDirectory )
+    {
+        if ( ( reportOutputDirectory != null ) && ( !reportOutputDirectory.getAbsolutePath().endsWith( "clover" ) ) )
+        {
+            this.outputDirectory = new File( reportOutputDirectory, "clover" );
+        }
+        else
+        {
+            this.outputDirectory = reportOutputDirectory;
+        }
+    }
 }

Modified: maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/AbstractJavadocMojo.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/AbstractJavadocMojo.java?rev=433277&r1=433276&r2=433277&view=diff
==============================================================================
--- maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/AbstractJavadocMojo.java (original)
+++ maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/AbstractJavadocMojo.java Mon Aug 21 09:28:06 2006
@@ -86,7 +86,7 @@
      * Specifies the destination directory where javadoc saves the generated HTML files.
      * See <a href="http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/javadoc.html#d">d</a>.
      *
-     * @parameter expression="${destDir}" alias="destDir" default-value="${project.build.directory}/site/apidocs"
+     * @parameter expression="${destDir}" alias="destDir" default-value="${project.build.directory}/apidocs"
      * @required
      */
     protected File outputDirectory;
@@ -1124,7 +1124,7 @@
         }
         else
         {
-		bottom = StringUtils.replace( bottom, "{inceptionYear}-", "" );
+            bottom = StringUtils.replace( bottom, "{inceptionYear}-", "" );
         }
         return bottom;
     }

Modified: maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/JavadocReport.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/JavadocReport.java?rev=433277&r1=433276&r2=433277&view=diff
==============================================================================
--- maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/JavadocReport.java (original)
+++ maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/JavadocReport.java Mon Aug 21 09:28:06 2006
@@ -32,8 +32,8 @@
 import java.util.Locale;
 
 /**
- * Generates documentation for the Java code in the project using the standard
- * <a href="http://java.sun.com/j2se/javadoc/">Javadoc Tool</a> tool.
+ * Generates documentation for the Java code in the project using the standard <a
+ * href="http://java.sun.com/j2se/javadoc/">Javadoc Tool</a> tool.
  *
  * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
  * @author <a href="mailto:vincent.siveton@gmail.com">Vincent Siveton</a>
@@ -58,6 +58,12 @@
      */
     private Renderer siteRenderer;
 
+    /**
+     * Specifies the destination directory where javadoc saves the generated HTML files.
+     *
+     * @parameter expression="${project.reporting.outputDirectory}/apidocs"
+     * @required
+     */
     private File reportOutputDirectory;
 
     // ----------------------------------------------------------------------
@@ -103,6 +109,7 @@
     public void generate( Sink sink, Locale locale )
         throws MavenReportException
     {
+        outputDirectory = getReportOutputDirectory();
         executeReport( locale );
     }
 
@@ -142,7 +149,7 @@
         }
         return canGenerate;
     }
-    
+
     /**
      * @see org.apache.maven.reporting.MavenReport#getCategoryName()
      */
@@ -158,8 +165,9 @@
     {
         if ( reportOutputDirectory == null )
         {
-            reportOutputDirectory = new File( getOutputDirectory() );
+            return outputDirectory;
         }
+
         return reportOutputDirectory;
     }
 
@@ -170,7 +178,14 @@
      */
     public void setReportOutputDirectory( File reportOutputDirectory )
     {
-        this.reportOutputDirectory = reportOutputDirectory;
+        if ( ( reportOutputDirectory != null ) && ( !reportOutputDirectory.getAbsolutePath().endsWith( "apidocs" ) ) )
+        {
+            this.reportOutputDirectory = new File( reportOutputDirectory, "apidocs" );
+        }
+        else
+        {
+            this.reportOutputDirectory = reportOutputDirectory;
+        }
     }
 
     /**
@@ -181,26 +196,24 @@
     {
         try
         {
-            String outputDirectory = getOutputDirectory();
-
-            SiteRendererSink sink = siteRenderer.createSink( new File( outputDirectory ), getOutputName() + ".html" );
+            SiteRendererSink sink = siteRenderer.createSink( getReportOutputDirectory(), getOutputName() + ".html" );
 
             generate( sink, Locale.getDefault() );
         }
         catch ( RendererException e )
         {
-            throw new MojoExecutionException(
-                "An error has occurred in " + getName( Locale.ENGLISH ) + " report generation.", e );
+            throw new MojoExecutionException( "An error has occurred in " + getName( Locale.ENGLISH )
+                + " report generation.", e );
         }
         catch ( IOException e )
         {
-            throw new MojoExecutionException(
-                "An error has occurred in " + getName( Locale.ENGLISH ) + " report generation.", e );
+            throw new MojoExecutionException( "An error has occurred in " + getName( Locale.ENGLISH )
+                + " report generation.", e );
         }
         catch ( MavenReportException e )
         {
-            throw new MojoExecutionException(
-                "An error has occurred in " + getName( Locale.ENGLISH ) + " report generation.", e );
+            throw new MojoExecutionException( "An error has occurred in " + getName( Locale.ENGLISH )
+                + " report generation.", e );
         }
     }
 }

Modified: maven/plugins/trunk/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/AbstractJxrReport.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/AbstractJxrReport.java?rev=433277&r1=433276&r2=433277&view=diff
==============================================================================
--- maven/plugins/trunk/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/AbstractJxrReport.java (original)
+++ maven/plugins/trunk/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/AbstractJxrReport.java Mon Aug 21 09:28:06 2006
@@ -61,7 +61,7 @@
     /**
      * Output folder where the main page of the report will be generated.
      *
-     * @parameter expression="${project.build.directory}/site"
+     * @parameter expression="${project.reporting.outputDirectory}"
      * @required
      */
     private String outputDirectory;

Modified: maven/plugins/trunk/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/JxrReport.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/JxrReport.java?rev=433277&r1=433276&r2=433277&view=diff
==============================================================================
--- maven/plugins/trunk/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/JxrReport.java (original)
+++ maven/plugins/trunk/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/JxrReport.java Mon Aug 21 09:28:06 2006
@@ -46,14 +46,14 @@
     /**
      * Folder where the Xref files will be copied to.
      *
-     * @parameter expression="${project.build.directory}/site/xref"
+     * @parameter expression="${project.reporting.outputDirectory}/xref"
      */
     private String destDir;
 
     /**
      * Folder where Javadoc is generated for this project.
      *
-     * @parameter expression="${project.build.directory}/site/apidocs"
+     * @parameter expression="${project.reporting.outputDirectory}/apidocs"
      */
     private File javadocDir;
 
@@ -155,5 +155,20 @@
             }
         }
         return location;
+    }
+
+    /**
+     * @see org.apache.maven.reporting.AbstractMavenReport#setReportOutputDirectory(java.io.File)
+     */
+    public void setReportOutputDirectory( File reportOutputDirectory )
+    {
+        if ( ( reportOutputDirectory != null ) && ( !reportOutputDirectory.getAbsolutePath().endsWith( "xref" ) ) )
+        {
+            this.destDir = new File( reportOutputDirectory, "xref" ).getAbsolutePath();
+        }
+        else
+        {
+            this.destDir = reportOutputDirectory.getAbsolutePath();
+        }
     }
 }

Modified: maven/plugins/trunk/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/JxrTestReport.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/JxrTestReport.java?rev=433277&r1=433276&r2=433277&view=diff
==============================================================================
--- maven/plugins/trunk/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/JxrTestReport.java (original)
+++ maven/plugins/trunk/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/JxrTestReport.java Mon Aug 21 09:28:06 2006
@@ -18,6 +18,7 @@
 
 import org.apache.maven.project.MavenProject;
 
+import java.io.File;
 import java.util.List;
 import java.util.Locale;
 
@@ -44,7 +45,7 @@
     /**
      * Folder where the Xref files will be copied to.
      *
-     * @parameter expression="${project.build.directory}/site/xref-test"
+     * @parameter expression="${project.reporting.outputDirectory}/xref-test"
      */
     private String destDir;
 
@@ -109,5 +110,20 @@
     {
         // Don't link Javadoc
         return null;
+    }
+
+    /**
+     * @see org.apache.maven.reporting.AbstractMavenReport#setReportOutputDirectory(java.io.File)
+     */
+    public void setReportOutputDirectory( File reportOutputDirectory )
+    {
+        if ( ( reportOutputDirectory != null ) && ( !reportOutputDirectory.getAbsolutePath().endsWith( "xref-test" ) ) )
+        {
+            this.destDir = new File( reportOutputDirectory, "xref-test" ).getAbsolutePath();
+        }
+        else
+        {
+            this.destDir = reportOutputDirectory.getAbsolutePath();
+        }
     }
 }

Modified: maven/plugins/trunk/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/AbstractPmdReport.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/AbstractPmdReport.java?rev=433277&r1=433276&r2=433277&view=diff
==============================================================================
--- maven/plugins/trunk/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/AbstractPmdReport.java (original)
+++ maven/plugins/trunk/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/AbstractPmdReport.java Mon Aug 21 09:28:06 2006
@@ -92,7 +92,7 @@
     /**
      * Location of the Xrefs to link to.
      *
-     * @parameter default-value="${project.build.directory}/site/xref"
+     * @parameter default-value="${project.reporting.outputDirectory}/xref"
      */
     private File xrefLocation;
 

Modified: maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/DependenciesReport.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/DependenciesReport.java?rev=433277&r1=433276&r2=433277&view=diff
==============================================================================
--- maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/DependenciesReport.java (original)
+++ maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/DependenciesReport.java Mon Aug 21 09:28:06 2006
@@ -34,6 +34,7 @@
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
 import org.apache.maven.artifact.resolver.ArtifactCollector;
+import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
 import org.apache.maven.artifact.resolver.ArtifactResolutionException;
 import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
 import org.apache.maven.artifact.versioning.VersionRange;
@@ -44,6 +45,7 @@
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.MavenProjectBuilder;
 import org.apache.maven.project.ProjectBuildingException;
+import org.apache.maven.project.artifact.InvalidDependencyVersionException;
 import org.apache.maven.report.projectinfo.ReportResolutionListener.Node;
 import org.apache.maven.reporting.AbstractMavenReportRenderer;
 import org.apache.maven.settings.Proxy;
@@ -67,6 +69,7 @@
 import org.codehaus.plexus.context.Context;
 import org.codehaus.plexus.context.ContextException;
 import org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable;
+import org.codehaus.plexus.util.StringUtils;
 
 /**
  * Generates the Project Dependencies report.
@@ -97,7 +100,7 @@
      * @component
      */
     private ArtifactCollector collector;
-    
+
     /**
      * @component
      */
@@ -111,19 +114,19 @@
      * @readonly
      */
     private Settings settings;
-    
+
     /**
      * @parameter expression="${dependency.details.enabled}" default-value="true"
      */
     private boolean dependencyDetailsEnabled;
-    
+
     /**
      * @parameter expression="${dependency.locations.enabled}" default-value="false"
      */
     private boolean dependencyLocationsEnabled;
-    
+
     private PlexusContainer container;
-    
+
     /**
      * Will be filled with license name / list of projects.
      */
@@ -173,6 +176,11 @@
 
         try
         {
+            // TODO site:run Why do we need to resolve this...
+            if ( project.getDependencyArtifacts() == null )
+            {
+                project.setDependencyArtifacts( project.createArtifacts( factory, null, null ) );
+            }
             collector.collect( project.getDependencyArtifacts(), project.getArtifact(), managedVersions,
                                localRepository, project.getRemoteArtifactRepositories(), artifactMetadataSource, null,
                                Collections.singletonList( listener ) );
@@ -181,6 +189,10 @@
         {
             getLog().error( "An error occurred while resolving project dependencies.", e );
         }
+        catch ( InvalidDependencyVersionException e )
+        {
+            getLog().error( "An error occurred while resolving project dependencies.", e );
+        }
 
         return listener;
     }
@@ -206,8 +218,8 @@
                 }
                 catch ( InvalidVersionSpecificationException e )
                 {
-                    throw new ProjectBuildingException( projectId, "Unable to parse version '" + d.getVersion() +
-                        "' for dependency '" + d.getManagementKey() + "': " + e.getMessage(), e );
+                    throw new ProjectBuildingException( projectId, "Unable to parse version '" + d.getVersion()
+                        + "' for dependency '" + d.getManagementKey() + "': " + e.getMessage(), e );
                 }
             }
         }
@@ -240,19 +252,19 @@
 
         public Dependencies( MavenProject project, ReportResolutionListener listener )
         {
-            /* Workaround to ensure proper File objects in the 
-             * Artifacts from the ReportResolutionListener
+            /*
+             * Workaround to ensure proper File objects in the Artifacts from the ReportResolutionListener
              */
             Map projectMap = new HashMap();
             Iterator it = project.getArtifacts().iterator();
-            while(it.hasNext())
+            while ( it.hasNext() )
             {
                 Artifact artifact = (Artifact) it.next();
                 projectMap.put( ArtifactUtils.versionlessKey( artifact ), artifact );
             }
-            
-            mapArtifactFiles(listener.getRootNode(), projectMap);
-            
+
+            mapArtifactFiles( listener.getRootNode(), projectMap );
+
             this.projectDependencies = listener.getRootNode().getChildren();
             this.resolvedDependencies = listener;
         }
@@ -260,21 +272,23 @@
         private void mapArtifactFiles( Node node, Map projectMap )
         {
             List childs = node.getChildren();
-            if( (childs == null) || childs.isEmpty() ) {
+            if ( ( childs == null ) || childs.isEmpty() )
+            {
                 return;
             }
-            
+
             Iterator it = childs.iterator();
-            while(it.hasNext())
+            while ( it.hasNext() )
             {
                 Node anode = (ReportResolutionListener.Node) it.next();
                 String key = ArtifactUtils.versionlessKey( anode.getArtifact() );
                 Artifact projartifact = (Artifact) projectMap.get( key );
-                if( projartifact != null ) {
-                    anode.getArtifact().setFile(  projartifact.getFile() );
+                if ( projartifact != null )
+                {
+                    anode.getArtifact().setFile( projartifact.getFile() );
                 }
-                
-                mapArtifactFiles(anode, projectMap);
+
+                mapArtifactFiles( anode, projectMap );
             }
         }
 
@@ -422,12 +436,12 @@
                                         (List) dependenciesByScope.get( Artifact.SCOPE_COMPILE ), tableHeader );
             renderDependenciesForScope( Artifact.SCOPE_RUNTIME,
                                         (List) dependenciesByScope.get( Artifact.SCOPE_RUNTIME ), tableHeader );
-            renderDependenciesForScope( Artifact.SCOPE_TEST, 
-                                        (List) dependenciesByScope.get( Artifact.SCOPE_TEST ), tableHeader );
-            renderDependenciesForScope( Artifact.SCOPE_PROVIDED, 
-                                        (List) dependenciesByScope.get( Artifact.SCOPE_PROVIDED ), tableHeader );
-            renderDependenciesForScope( Artifact.SCOPE_SYSTEM, 
-                                        (List) dependenciesByScope.get( Artifact.SCOPE_SYSTEM ), tableHeader );
+            renderDependenciesForScope( Artifact.SCOPE_TEST, (List) dependenciesByScope.get( Artifact.SCOPE_TEST ),
+                                        tableHeader );
+            renderDependenciesForScope( Artifact.SCOPE_PROVIDED, (List) dependenciesByScope
+                .get( Artifact.SCOPE_PROVIDED ), tableHeader );
+            renderDependenciesForScope( Artifact.SCOPE_SYSTEM, (List) dependenciesByScope.get( Artifact.SCOPE_SYSTEM ),
+                                        tableHeader );
         }
 
         private void renderSectionProjectTransitiveDependencies( Dependencies dependencies )
@@ -459,7 +473,7 @@
 
             // === Section: Dependency Tree
             renderSectionDependencyTree();
-            
+
             // === Section: Dependency Listings
             renderSectionDependencyListing();
 
@@ -468,7 +482,7 @@
 
         private void renderSectionDependencyTree()
         {
-            //for Dependencies Graph Tree
+            // for Dependencies Graph Tree
             startSection( getReportString( "report.dependencies.graph.tree.title" ) );
             sink.paragraph();
             sink.list();
@@ -497,7 +511,7 @@
 
             String[] tableHeader = new String[] { filename, size, entries, classes, packages, jdkrev, debug, sealed };
             tableHeader( tableHeader );
-            
+
             int totaldeps = 0;
             long totaldepsize = 0;
             int totalentries = 0;
@@ -506,15 +520,37 @@
             double highestjdk = 0.0;
             int totaldebug = 0;
             int totalsealed = 0;
-            
-            DecimalFormat decFormat = new DecimalFormat("#,##0");
+
+            DecimalFormat decFormat = new DecimalFormat( "#,##0" );
 
             for ( Iterator it = alldeps.iterator(); it.hasNext(); )
             {
                 Artifact artifact = (Artifact) it.next();
-                
+
                 if ( !Artifact.SCOPE_SYSTEM.equals( artifact.getScope() ) )
                 {
+                    // TODO site:run Why do we need to resolve this...
+                    if ( artifact.getFile() == null )
+                    {
+                        try
+                        {
+                            List remoteRepositories = new ArrayList();
+                            remoteRepositories.addAll( project.getPluginArtifactRepositories() );
+                            remoteRepositories.addAll( project.getRemoteArtifactRepositories() );
+                            resolver.resolve( artifact, remoteRepositories, localRepository );
+                        }
+                        catch ( ArtifactResolutionException e )
+                        {
+                            getLog().error( "Artifact: " + artifact.getId() + " has no file.", e );
+                            continue;
+                        }
+                        catch ( ArtifactNotFoundException e )
+                        {
+                            getLog().error( "Artifact: " + artifact.getId() + " has no file.", e );
+                            continue;
+                        }
+                    }
+
                     if ( artifact.getFile() == null )
                     {
                         getLog().error( "Artifact: " + artifact.getId() + " has no file." );
@@ -613,7 +649,7 @@
                     }
                 }
             }
-            
+
             tableRow( new String[] {
                 "" + totaldeps + " total dependencies",
                 decFormat.format( totaldepsize ),
@@ -627,37 +663,37 @@
             endTable();
             endSection();
         }
-        
+
         private void populateRepositoryMap( Map repos, List rawRepos )
         {
             Iterator it = rawRepos.iterator();
-            while(it.hasNext())
+            while ( it.hasNext() )
             {
                 ArtifactRepository repo = (ArtifactRepository) it.next();
                 repos.put( repo.getId(), repo );
             }
         }
-        
+
         private void renderSectionDependencyRepositoryLocations( Dependencies dependencies )
         {
             startSection( getReportString( "report.dependencies.repo.locations.title" ) );
-            
+
             // Collect Alphabetical Dependencies
             List alldeps = dependencies.getAllDependencies();
             Collections.sort( alldeps, getArtifactComparator() );
-            
+
             // Collect Repositories
             Map repoMap = new HashMap();
-            
+
             populateRepositoryMap( repoMap, project.getRemoteArtifactRepositories() );
-            
+
             for ( Iterator it = alldeps.iterator(); it.hasNext(); )
             {
                 Artifact artifact = (Artifact) it.next();
                 try
                 {
                     MavenProject artifactProject = getMavenProjectFromRepository( artifact, localRepository );
-                    
+
                     populateRepositoryMap( repoMap, artifactProject.getRemoteArtifactRepositories() );
                 }
                 catch ( ProjectBuildingException e )
@@ -665,9 +701,9 @@
                     getLog().warn( "Unable to create maven project from repository.", e );
                 }
             }
-            
+
             // Render Repository List
-            
+
             startTable();
             String repoid = getReportString( "report.dependencies.repo.locations.column.repoid" );
             String url = getReportString( "report.dependencies.repo.locations.column.url" );
@@ -676,13 +712,13 @@
 
             String[] tableHeader = new String[] { repoid, url, release, snapshot };
             tableHeader( tableHeader );
-            
+
             String releaseEnabled = getReportString( "report.dependencies.repo.locations.cell.release.enabled" );
             String releaseDisabled = getReportString( "report.dependencies.repo.locations.cell.release.disabled" );
-            
+
             String snapshotEnabled = getReportString( "report.dependencies.repo.locations.cell.snapshot.enabled" );
             String snapshotDisabled = getReportString( "report.dependencies.repo.locations.cell.snapshot.disabled" );
-            
+
             for ( Iterator it = repoMap.keySet().iterator(); it.hasNext(); )
             {
                 String key = (String) it.next();
@@ -696,7 +732,7 @@
                 sink.text( repo.getUrl() );
                 sink.link_();
                 sink.tableCell_();
-                
+
                 ArtifactRepositoryPolicy releasePolicy = repo.getReleases();
                 tableCell( releasePolicy.isEnabled() ? releaseEnabled : releaseDisabled );
 
@@ -704,15 +740,15 @@
                 tableCell( snapshotPolicy.isEnabled() ? snapshotEnabled : snapshotDisabled );
                 sink.tableRow_();
             }
-            
+
             endTable();
-            
+
             // Render Aritfact Breakdown.
-            
+
             sink.paragraph();
             sink.text( getReportString( "report.dependencies.repo.locations.artifact.breakdown" ) );
             sink.paragraph_();
-            
+
             List repoIdList = new ArrayList( repoMap.keySet() );
 
             startTable();
@@ -720,76 +756,78 @@
             tableHeader = new String[repoIdList.size() + 1];
             tableHeader[0] = artifact;
             int idnum = 1;
-            
-            for (Iterator it = repoIdList.iterator(); it.hasNext();)
+
+            for ( Iterator it = repoIdList.iterator(); it.hasNext(); )
             {
                 String id = (String) it.next();
                 tableHeader[idnum++] = id;
             }
-            
+
             tableHeader( tableHeader );
-            
+
             for ( Iterator it = alldeps.iterator(); it.hasNext(); )
             {
                 Artifact dependency = (Artifact) it.next();
-                
+
                 if ( !Artifact.SCOPE_SYSTEM.equals( dependency.getScope() ) )
                 {
                     sink.tableRow();
-                    
+
                     tableCell( dependency.getId() );
-                    
-                    for(Iterator itrepo = repoIdList.iterator(); itrepo.hasNext();)
+
+                    for ( Iterator itrepo = repoIdList.iterator(); itrepo.hasNext(); )
                     {
                         String repokey = (String) itrepo.next();
                         ArtifactRepository repo = (ArtifactRepository) repoMap.get( repokey );
-                        
+
                         String depUrl = repo.getUrl() + "/" + repo.pathOf( dependency );
-                        
-                        if(dependencyExistsInRepo(repo, dependency))
+
+                        if ( dependencyExistsInRepo( repo, dependency ) )
                         {
                             sink.tableCell();
                             sink.link( depUrl );
-                            
+
                             sink.figure();
                             sink.figureCaption();
                             sink.text( "Found at " + repo.getUrl() );
                             sink.figureCaption_();
                             sink.figureGraphics( "images/icon_success_sml.gif" );
                             sink.figure_();
-                            
+
                             sink.link_();
                             sink.tableCell_();
-                        } else {
+                        }
+                        else
+                        {
                             sink.tableCell();
-                            sink.text("-");
+                            sink.text( "-" );
                             sink.tableCell_();
                         }
                     }
-                    
+
                     sink.tableRow_();
                 }
             }
-            
+
             endTable();
-            
+
             endSection();
         }
-        
+
         private boolean dependencyExistsInRepo( ArtifactRepository repo, Artifact artifact )
         {
             Wagon wagon;
-            
+
             try
             {
-                wagon = wagonManager.getWagon(repo.getProtocol());
+                wagon = wagonManager.getWagon( repo.getProtocol() );
             }
             catch ( UnsupportedProtocolException e )
             {
                 getLog().error( "Unsupported protocol: '" + repo.getProtocol() + "'", e );
                 return false;
             }
-            
+
             try
             {
                 Debug debug = new Debug();
@@ -845,7 +883,7 @@
                 }
             }
         }
-        
+
         /**
          * Convenience method to map a <code>Proxy</code> object from the user system settings to a
          * <code>ProxyInfo</code> object.
@@ -869,7 +907,7 @@
             }
 
             return proxyInfo;
-        }        
+        }
 
         private void renderSectionDependencyListing()
         {
@@ -877,7 +915,7 @@
             printDescriptionsAndURLs( listener.getRootNode() );
             endSection();
         }
-        
+
         private void renderSectionDependencyLicenseListing()
         {
             startSection( getReportString( "report.dependencies.graph.tables.licenses" ) );
@@ -937,8 +975,13 @@
 
         private String[] getArtifactRow( Artifact artifact )
         {
-            return new String[]{artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion(),
-                artifact.getClassifier(), artifact.getType(), artifact.isOptional() ? "(optional)" : " "};
+            return new String[] {
+                artifact.getGroupId(),
+                artifact.getArtifactId(),
+                artifact.getVersion(),
+                artifact.getClassifier(),
+                artifact.getType(),
+                artifact.isOptional() ? "(optional)" : " " };
         }
 
         private void printDependencyListing( ReportResolutionListener.Node node )
@@ -972,7 +1015,7 @@
         {
             Artifact artifact = node.getArtifact();
             String id = artifact.getDependencyConflictId();
-            
+
             String unknownLicenseMessage = getReportString( "report.dependencies.graph.tables.unknown" );
 
             if ( !Artifact.SCOPE_SYSTEM.equals( artifact.getScope() ) )
@@ -987,7 +1030,7 @@
 
                     sink.paragraph();
                     sink.anchor( id );
-                    //                     startSection( artifactName );
+                    // startSection( artifactName );
                     sink.bold();
                     sink.text( artifactName );
                     sink.bold_();
@@ -1036,8 +1079,12 @@
                             {
                                 projectsWithSameLicense = new ArrayList();
                                 licenseMap.put( licenseName, projectsWithSameLicense );
+
+                            }
+                            if ( !projectsWithSameLicense.contains( artifactName ) )
+                            {
+                                projectsWithSameLicense.add( artifactName );
                             }
-                            projectsWithSameLicense.add( artifactName );
 
                         }
                     }
@@ -1051,11 +1098,14 @@
                             projectsWithSameLicense = new ArrayList();
                             licenseMap.put( unknownLicenseMessage, projectsWithSameLicense );
                         }
-                        projectsWithSameLicense.add( artifactName );
+                        if ( !projectsWithSameLicense.contains( artifactName ) )
+                        {
+                            projectsWithSameLicense.add( artifactName );
+                        }
                     }
                     sink.paragraph_();
 
-                    //                    endSection();
+                    // endSection();
                     sink.horizontalRule();
                 }
                 catch ( ProjectBuildingException e )
@@ -1084,7 +1134,7 @@
                 sink.paragraph_();
             }
         }
-        
+
         private void printGroupedLicenses()
         {
             for ( Iterator iter = licenseMap.keySet().iterator(); iter.hasNext(); )
@@ -1092,7 +1142,14 @@
                 String licenseName = (String) iter.next();
                 sink.paragraph();
                 sink.bold();
-                sink.text( licenseName );
+                if ( StringUtils.isEmpty( licenseName ) )
+                {
+                    sink.text( i18n.getString( "project-info-report", locale, "report.dependencies.unamed" ) );
+                }
+                else
+                {
+                    sink.text( licenseName );
+                }
                 sink.text( ": " );
                 sink.bold_();
 
@@ -1115,13 +1172,12 @@
         }
 
         /**
-         * Get the <code>Maven project</code> from the repository depending
-         * the <code>Artifact</code> given.
+         * Get the <code>Maven project</code> from the repository depending the <code>Artifact</code> given.
          *
          * @param artifact an artifact
          * @return the Maven project for the given artifact
          * @throws org.apache.maven.project.ProjectBuildingException
-         *          if any
+         *             if any
          */
         private MavenProject getMavenProjectFromRepository( Artifact artifact, ArtifactRepository localRepository )
             throws ProjectBuildingException
@@ -1145,7 +1201,5 @@
         {
             return i18n.getString( "project-info-report", locale, key );
         }
-
     }
-
 }

Modified: maven/plugins/trunk/maven-project-info-reports-plugin/src/main/resources/project-info-report.properties
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-project-info-reports-plugin/src/main/resources/project-info-report.properties?rev=433277&r1=433276&r2=433277&view=diff
==============================================================================
--- maven/plugins/trunk/maven-project-info-reports-plugin/src/main/resources/project-info-report.properties (original)
+++ maven/plugins/trunk/maven-project-info-reports-plugin/src/main/resources/project-info-report.properties Mon Aug 21 09:28:06 2006
@@ -81,6 +81,7 @@
 report.dependencies.repo.locations.column.url                      = URL
 report.dependencies.repo.locations.title                           = Dependency Repository Locations
 report.dependencies.title                                          = Project Dependencies
+report.dependencies.unamed                                         = Unamed
 report.dependency-convergence.convergence.caption                  = Dependencies used in sub-projects
 report.dependency-convergence.description                          = This document presents the convergence of dependency versions across the entire project, and its sub modules.
 report.dependency-convergence.legend                               = Legend

Modified: maven/plugins/trunk/maven-project-info-reports-plugin/src/main/resources/project-info-report_fr.properties
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-project-info-reports-plugin/src/main/resources/project-info-report_fr.properties?rev=433277&r1=433276&r2=433277&view=diff
==============================================================================
--- maven/plugins/trunk/maven-project-info-reports-plugin/src/main/resources/project-info-report_fr.properties (original)
+++ maven/plugins/trunk/maven-project-info-reports-plugin/src/main/resources/project-info-report_fr.properties Mon Aug 21 09:28:06 2006
@@ -47,7 +47,7 @@
 report.dependencies.graph.tables.licenses                          = License
 report.dependencies.graph.tables.notAttached                       = Non attach\u00E9e
 report.dependencies.graph.tables.title                             = Liste des d\u00E9pendances
-report.dependencies.graph.tables.unknown                           = 
+report.dependencies.graph.tables.unknown                           = Inconnu
 report.dependencies.graph.title                                    = Graphe des d\u00E9pendances du projet
 report.dependencies.graph.tree.title                               = Arbre des d\u00E9pendances
 report.dependencies.graph.url.default                              = Aucun URL d\u00E9fini
@@ -60,6 +60,7 @@
 report.dependencies.name                                           = D\u00E9pendances
 report.dependencies.nolist                                         = Il n'y a aucune d\u00E9pendance pour ce projet. C'est une application autonome qui ne d\u00E9pend d'aucun autre projet.
 report.dependencies.title                                          = D\u00E9pendances du projet
+report.dependencies.unamed                                         = Non-sp\u00E9cifi\u00E9
 report.dependency-convergence.convergence.caption                  = D\u00E9pendances utilis\u00E9es dans les sous projets
 report.dependency-convergence.description                          = Ce document pr\u00E9sente la convergence des versions des d\u00E9pendances \u00E0 travers le projet entier, et de ses sous modules.
 report.dependency-convergence.legend                               = L\u00E9gende

Modified: maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/ReportDocumentRenderer.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/ReportDocumentRenderer.java?rev=433277&r1=433276&r2=433277&view=diff
==============================================================================
--- maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/ReportDocumentRenderer.java (original)
+++ maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/ReportDocumentRenderer.java Mon Aug 21 09:28:06 2006
@@ -28,7 +28,6 @@
 import org.apache.maven.reporting.MavenReport;
 import org.apache.maven.reporting.MavenMultiPageReport;
 import org.apache.maven.reporting.MavenReportException;
-import org.apache.maven.reporting.MavenReport;
 
 import java.io.FileNotFoundException;
 import java.io.IOException;
@@ -68,14 +67,14 @@
         private File outputDir;
 
         private String outputName;
-            
+
         public MySink( File outputDir, String outputName, RenderingContext ctx )
         {
             super( ctx );
             this.outputName = outputName;
-        this.outputDir = outputDir;
+            this.outputDir = outputDir;
         }
-        
+
         public String getOutputName()
         {
             return outputName;
@@ -93,7 +92,7 @@
         private RenderingContext context;
 
         private List sinks = new ArrayList();
-            
+
         public MySinkFactory( RenderingContext ctx )
         {
             this.context = ctx;
@@ -189,5 +188,13 @@
     {
         // TODO: would be nice to query the report to see if it is modified
         return true;
+    }
+
+    /**
+     * @return true if the current report is external, false otherwise
+     */
+    public boolean isExternalReport()
+    {
+        return report.isExternalReport();
     }
 }

Modified: maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/SiteRunMojo.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/SiteRunMojo.java?rev=433277&r1=433276&r2=433277&view=diff
==============================================================================
--- maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/SiteRunMojo.java (original)
+++ maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/SiteRunMojo.java Mon Aug 21 09:28:06 2006
@@ -19,6 +19,7 @@
 import org.apache.maven.doxia.siterenderer.SiteRenderingContext;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
+import org.apache.maven.reporting.MavenReport;
 import org.codehaus.plexus.util.IOUtil;
 import org.mortbay.jetty.Connector;
 import org.mortbay.jetty.Handler;
@@ -32,6 +33,7 @@
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
+import java.util.Iterator;
 import java.util.List;
 import java.util.Locale;
 import java.util.Map;
@@ -136,6 +138,14 @@
         webapp.setContextPath( "/" );
         webapp.setResourceBase( tempWebappDirectory.getAbsolutePath() );
         webapp.setAttribute( "siteRenderer", siteRenderer );
+
+        // For external reports
+        project.getReporting().setOutputDirectory( tempWebappDirectory.getAbsolutePath() );
+        for ( Iterator i = reports.iterator(); i.hasNext(); )
+        {
+            MavenReport report = ( MavenReport ) i.next();
+            report.setReportOutputDirectory( tempWebappDirectory );
+        }
 
         List filteredReports = filterReports( reports );
 

Modified: maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/webapp/DoxiaFilter.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/webapp/DoxiaFilter.java?rev=433277&r1=433276&r2=433277&view=diff
==============================================================================
--- maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/webapp/DoxiaFilter.java (original)
+++ maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/webapp/DoxiaFilter.java Mon Aug 21 09:28:06 2006
@@ -20,6 +20,7 @@
 import org.apache.maven.doxia.siterenderer.Renderer;
 import org.apache.maven.doxia.siterenderer.RendererException;
 import org.apache.maven.doxia.siterenderer.SiteRenderingContext;
+import org.apache.maven.plugins.site.ReportDocumentRenderer;
 
 import javax.servlet.Filter;
 import javax.servlet.FilterChain;
@@ -54,6 +55,9 @@
 
     private List originalSiteDirectories;
 
+    /**
+     * @see javax.servlet.Filter#init(javax.servlet.FilterConfig)
+     */
     public void init( FilterConfig filterConfig )
         throws ServletException
     {
@@ -65,6 +69,9 @@
         originalSiteDirectories = new ArrayList( context.getSiteDirectories() );
     }
 
+    /**
+     * @see javax.servlet.Filter#doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)
+     */
     public void doFilter( ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain )
         throws IOException, ServletException
     {
@@ -87,6 +94,22 @@
             {
                 DocumentRenderer renderer = (DocumentRenderer) documents.get( path );
                 renderer.renderDocument( servletResponse.getWriter(), siteRenderer, context );
+
+                if (renderer instanceof ReportDocumentRenderer)
+                {
+                    ReportDocumentRenderer reportDocumentRenderer = (ReportDocumentRenderer) renderer;
+                    if (reportDocumentRenderer.isExternalReport())
+                    {
+                        try
+                        {
+                            filterChain.doFilter( servletRequest, servletResponse );
+                        }
+                        catch ( Exception e )
+                        {
+                            throw new ServletException( e );
+                        }
+                    }
+                }
             }
             catch ( RendererException e )
             {
@@ -99,14 +122,14 @@
             context.addSiteDirectory( generatedSiteDirectory );
             try
             {
-                Map documents = siteRenderer.locateDocumentFiles( context );
+                Map locateDocuments = siteRenderer.locateDocumentFiles( context );
 
-                if ( documents.containsKey( path ) )
+                if ( locateDocuments.containsKey( path ) )
                 {
                     // TODO: documents are not right for the locale
                     context.setLocale( req.getLocale() );
 
-                    DocumentRenderer renderer = (DocumentRenderer) documents.get( path );
+                    DocumentRenderer renderer = (DocumentRenderer) locateDocuments.get( path );
                     renderer.renderDocument( servletResponse.getWriter(), siteRenderer, context );
                 }
             }
@@ -126,6 +149,9 @@
         }
     }
 
+    /**
+     * @see javax.servlet.Filter#destroy()
+     */
     public void destroy()
     {
     }

Modified: maven/plugins/trunk/maven-surefire-report-plugin/src/main/java/org/apache/maven/plugins/surefire/report/SurefireReportMojo.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-surefire-report-plugin/src/main/java/org/apache/maven/plugins/surefire/report/SurefireReportMojo.java?rev=433277&r1=433276&r2=433277&view=diff
==============================================================================
--- maven/plugins/trunk/maven-surefire-report-plugin/src/main/java/org/apache/maven/plugins/surefire/report/SurefireReportMojo.java (original)
+++ maven/plugins/trunk/maven-surefire-report-plugin/src/main/java/org/apache/maven/plugins/surefire/report/SurefireReportMojo.java Mon Aug 21 09:28:06 2006
@@ -45,7 +45,7 @@
     /**
      * Location where generated html will be created.
      *
-     * @parameter expression="${project.build.directory}/site "
+     * @parameter expression="${project.reporting.outputDirectory}"
      */
     private String outputDirectory;
 
@@ -92,7 +92,7 @@
     /**
      * Location of the Xrefs to link.
      *
-     * @parameter default-value="${project.build.directory}/site/xref-test"
+     * @parameter default-value="${project.reporting.outputDirectory}/xref-test"
      */
     private File xrefLocation;