BuildLogWarnSummary analyzes the warnings generated during a JDK build.

The program analyzes one or more full verbose logs from either an old-style or new-style JDK build, and generates summary tables of the different warnings that were found, where in the source code they occured, and which tools generated them.

The analysis works as follows:

  1. The program looks for lines containing the word ‘warning’.
  2. Each line is checked against a list of known “false positives” and ignored if a match is found.
  3. Each line is then checked against lists of regular expressions, to identify the source file (if any) identified in the message, the general text of the message (ignoring any instance-specific details), and the tool that generated the message.

The use of regular expressions to identify the characteristics of the message is somewhat fragile, and does require periodic updates to the program, either when new warnings are generated by changes to the source code, or when the tools that are used in the build are updated.

If you have a reference set of log files available (such as those generated by a previous build), the program can generate a differential analysis report, showing whether warnings are being fixed (good), or whether new warnings are have started to occur (bad!).

Since BuildWarnSummary specifically focusses on lines containing the word ‘warning’, it might miss some otherwise important messages generated during the build. Use the related program BuildLogFilter to summarize all of the “unexpected” messages generated during a build.


java -jar buildLogWarnSummary.jar options... files...


-h generate HTML report (defaults from output file extn)
-help show this help message
-k show warnings categorized by kind
-l show warnings categorized by location
-o arg output file
-r arg reference log file(s)
-t show warnings categorized by tool
-title arg title for report
-usage show this help message
files log files to be analyzed