Author: bentmann Date: Thu Feb 24 19:06:19 2011 New Revision: 1074258 URL: http://svn.apache.org/viewvc?rev=1074258&view=rev Log: [MNG-5023] Wrong calculation of Build Total time
Modified: maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/ExecutionEventLogger.java Modified: maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/ExecutionEventLogger.java URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/ExecutionEventLogger.java?rev=1074258&r1=1074257&r2=1074258&view=diff ============================================================================== --- maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/ExecutionEventLogger.java (original) +++ maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/ExecutionEventLogger.java Thu Feb 24 19:06:19 2011 @@ -19,10 +19,7 @@ package org.apache.maven.cli; * under the License. */ -import java.text.DateFormat; -import java.text.SimpleDateFormat; import java.util.Date; -import java.util.TimeZone; import org.apache.maven.execution.AbstractExecutionListener; import org.apache.maven.execution.BuildFailure; @@ -71,22 +68,28 @@ public class ExecutionEventLogger private static String getFormattedTime( long time ) { - String pattern = "s.SSS's'"; + // NOTE: DateFormat is not suitable to format timespans of 24h+ - if ( time / 60000L > 0 ) - { - pattern = "m:s" + pattern; + long h = time / ( 60 * 60 * 1000 ); + long m = ( time - h * 60 * 60 * 1000 ) / ( 60 * 1000 ); + long s = ( time - h * 60 * 60 * 1000 - m * 60 * 1000 ) / 1000; + long ms = time % 1000; - if ( time / 3600000L > 0 ) - { - pattern = "H:m" + pattern; - } + String format; + if ( h > 0 ) + { + format = "%1$d:%2$02d:%3$02d.%4$03ds"; + } + else if ( m > 0 ) + { + format = "%2$d:%3$02d.%4$03ds"; + } + else + { + format = "%3$d.%4$03ds"; } - DateFormat fmt = new SimpleDateFormat( pattern ); - fmt.setTimeZone( TimeZone.getTimeZone( "UTC" ) ); - - return fmt.format( new Date( time ) ); + return String.format( format, h, m, s, ms ); } @Override