You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by kh...@apache.org on 2015/03/22 00:20:21 UTC
svn commit: r1668327 - in
/maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker:
AbstractInvokerMojo.java ReportUtils.java
Author: khmarbaise
Date: Sat Mar 21 23:20:21 2015
New Revision: 1668327
URL: http://svn.apache.org/r1668327
Log:
[MINVOKER-181] Create single summary file
The summary file (invoker-summary.txt) will be created
in the invoker-reports folder.
Modified:
maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/AbstractInvokerMojo.java
maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/ReportUtils.java
Modified: maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/AbstractInvokerMojo.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/AbstractInvokerMojo.java?rev=1668327&r1=1668326&r2=1668327&view=diff
==============================================================================
--- maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/AbstractInvokerMojo.java (original)
+++ maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/AbstractInvokerMojo.java Sat Mar 21 23:20:21 2015
@@ -20,6 +20,7 @@ package org.apache.maven.plugin.invoker;
*/
import java.io.BufferedReader;
+import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
@@ -733,6 +734,44 @@ public abstract class AbstractInvokerMoj
runBuilds( projectsDir, buildJobs );
processResults( new InvokerSession( buildJobs ) );
+
+ writeSummaryFile( buildJobs );
+ }
+
+ private void writeSummaryFile( BuildJob[] buildJobs )
+ throws MojoExecutionException
+ {
+ File summaryReportFile = new File( reportsDirectory, "invoker-summary.txt" );
+
+ try
+ {
+ FileOutputStream fos = new FileOutputStream( summaryReportFile );
+ OutputStreamWriter osw = new OutputStreamWriter( fos, "UTF-8" );
+ Writer writer = new BufferedWriter( osw );
+
+ for ( int i = 0; i < buildJobs.length; i++ )
+ {
+ BuildJob buildJob = buildJobs[i];
+ writer.append( buildJob.getResult() );
+ writer.append( " [" );
+ writer.append( buildJob.getProject() );
+ writer.append( "] " );
+ if ( buildJob.getFailureMessage() != null )
+ {
+ writer.append( " " );
+ writer.append( buildJob.getFailureMessage() );
+ }
+ writer.append( "\n" );
+ }
+
+ writer.close();
+ osw.close();
+ fos.close();
+ }
+ catch ( IOException e )
+ {
+ throw new MojoExecutionException( "Failed to write summary report " + summaryReportFile, e );
+ }
}
protected void doFailIfNoProjects()
@@ -1350,8 +1389,9 @@ public abstract class AbstractInvokerMoj
boolean executed;
try
{
- executed = runBuild( basedir, interpolatedPomFile, settingsFile, actualJavaHome,
- invokerProperties );
+ //CHECKSTYLE_OFF: LineLength
+ executed = runBuild( basedir, interpolatedPomFile, settingsFile, actualJavaHome, invokerProperties );
+ //CHECKSTYLE_ON: LineLength
}
finally
{
Modified: maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/ReportUtils.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/ReportUtils.java?rev=1668327&r1=1668326&r2=1668327&view=diff
==============================================================================
--- maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/ReportUtils.java (original)
+++ maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/ReportUtils.java Sat Mar 21 23:20:21 2015
@@ -20,6 +20,7 @@ package org.apache.maven.plugin.invoker;
*/
import java.io.File;
+import java.io.FilenameFilter;
/**
* Provides utility methods for invoker report processing.
@@ -29,6 +30,17 @@ import java.io.File;
class ReportUtils
{
+ private static class FileFilterOnlyXmlFile
+ implements FilenameFilter
+ {
+
+ public boolean accept( File dir, String name )
+ {
+ return name.endsWith( ".xml" );
+ }
+
+ }
+
/**
* Gets the paths to the invoker reports available in the specified directory.
*
@@ -37,7 +49,8 @@ class ReportUtils
*/
public static File[] getReportFiles( File reportsDirectory )
{
- File[] reportFiles = ( reportsDirectory != null ) ? reportsDirectory.listFiles() : null;
+ File[] reportFiles =
+ ( reportsDirectory != null ) ? reportsDirectory.listFiles( new FileFilterOnlyXmlFile() ) : null;
if ( reportFiles == null )
{