Author: bentmann
Date: Mon Aug 17 13:33:39 2009
New Revision: 804980
URL: http://svn.apache.org/viewvc?rev=804980&view=rev
Log:
o Restored reactor summary
Modified:
maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/cli/LifecycleEventLogger.java
Modified:
maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/cli/LifecycleEventLogger.java
URL:
http://svn.apache.org/viewvc/maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/cli/LifecycleEventLogger.java?rev=804980&r1=804979&r2=804980&view=diff
==============================================================================
---
maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/cli/LifecycleEventLogger.java
(original)
+++
maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/cli/LifecycleEventLogger.java
Mon Aug 17 13:33:39 2009
@@ -19,7 +19,16 @@
* under the License.
*/
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.TimeZone;
+
import org.apache.maven.embedder.MavenEmbedderLogger;
+import org.apache.maven.execution.BuildFailure;
+import org.apache.maven.execution.BuildSuccess;
+import org.apache.maven.execution.BuildSummary;
+import org.apache.maven.execution.MavenExecutionResult;
import org.apache.maven.lifecycle.AbstractLifecycleListener;
import org.apache.maven.lifecycle.LifecycleEvent;
import org.apache.maven.plugin.descriptor.MojoDescriptor;
@@ -37,6 +46,8 @@
private final MavenEmbedderLogger logger;
+ private static final int LINE_LENGTH = 72;
+
public LifecycleEventLogger( MavenEmbedderLogger logger )
{
if ( logger == null )
@@ -47,7 +58,36 @@
this.logger = logger;
}
- // TODO: log the events
+ private static String chars( char c, int count )
+ {
+ StringBuilder buffer = new StringBuilder( count );
+
+ for ( int i = count; i > 0; i-- )
+ {
+ buffer.append( c );
+ }
+
+ return buffer.toString();
+ }
+
+ private static String getFormattedTime( long time )
+ {
+ String pattern = "s.SSS's'";
+
+ if ( time / 60000L > 0 )
+ {
+ pattern = "m:s" + pattern;
+ if ( time / 3600000L > 0 )
+ {
+ pattern = "H:m" + pattern;
+ }
+ }
+
+ DateFormat fmt = new SimpleDateFormat( pattern );
+ fmt.setTimeZone( TimeZone.getTimeZone( "UTC" ) );
+
+ return fmt.format( new Date( time ) );
+ }
@Override
public void sessionStarted( LifecycleEvent event )
@@ -68,6 +108,54 @@
}
@Override
+ public void sessionEnded( LifecycleEvent event )
+ {
+ if ( logger.isInfoEnabled() )
+ {
+ logger.info( chars( '-', LINE_LENGTH ) );
+ logger.info( "Reactor Summary:" );
+ logger.info( chars( '-', LINE_LENGTH ) );
+
+ MavenExecutionResult result = event.getSession().getResult();
+
+ for ( MavenProject project : event.getSession().getProjects() )
+ {
+ StringBuilder buffer = new StringBuilder( 128 );
+
+ buffer.append( project.getName() );
+
+ while ( buffer.length() < LINE_LENGTH - 22 )
+ {
+ buffer.append( '.' );
+ }
+
+ BuildSummary buildSummary = result.getBuildSummary( project );
+
+ if ( buildSummary == null )
+ {
+ buffer.append( "SKIPPED" );
+ }
+ else if ( buildSummary instanceof BuildSuccess )
+ {
+ buffer.append( "SUCCESS [" );
+ buffer.append( getFormattedTime( buildSummary.getTime() )
);
+ buffer.append( "]" );
+ }
+ else if ( buildSummary instanceof BuildFailure )
+ {
+ buffer.append( "FAILURE [" );
+ buffer.append( getFormattedTime( buildSummary.getTime() )
);
+ buffer.append( "]" );
+ }
+
+ logger.info( buffer.toString() );
+ }
+
+ logger.info( chars( '-', LINE_LENGTH ) );
+ }
+ }
+
+ @Override
public void projectSkipped( LifecycleEvent event )
{
if ( logger.isInfoEnabled() )