Here is a basic first draft of a script to remove the chatty fluff from
a build log.
I tried it on a build log from a linux box I use. The entire log is 1511
lines long; the reduced log is 584 lines long, meaning that 39% of the
log is issues that maybe need addressing.
-- Jon
cat $1 |
grep -v -E
'^(Assembling|Compiling|Copying|Creating|Generating|Importing|Linking|Making|Running|Updating|Using|Verifying)
' |
grep -v -E '^(Aliases|Cache|Classes|INFO): ' |
grep -v -E '^All done.' |
grep -v -E '^$' |
grep -v -E '^(## |---*)' |
grep -v -E '^(Start|End|[0-9][0-9]:[0-9][0-9]:[0-9][0-9]) '
On 04/25/2013 12:05 PM, Jonathan Gibbons wrote:
Build folk,
There are two types of line in a typical build.log file: there are
"info" lines which detail the ongoing progress of the build, and there
are "other" lines containing info which ought to be of interest to
someone: warnings, errors, etc.
Previously, attempts to clean up build issues have focussed on
analyzing the log for warnings. This time, I'm going to suggest the
opposite. How about providing a script somewhere which can be used
after a build to filter out the "info" lines, leaving just the
warnings and error messages, so that they can more easily be seen and
addressed.
The script could simply be a series of "grep -v" commands, filtering
out lines beginning "Compiing ...." or "Assembling..." or "##
comment" or "INFO: ..." or "Importing ..." etc. For those folk
using Hudson to build OpenJDK on an ongoing basis, maybe the number of
lines in this reduced log would be of interest, and could be tracked
in a Hudson trend graph.
-- Jon