diff --git a/build-logs-index.shtml b/build-logs-index.shtml new file mode 100644 index 000000000..fa1dd9383 --- /dev/null +++ b/build-logs-index.shtml @@ -0,0 +1,32 @@ + + + +Boost Build Logs + + + + + + + + +
+

Boost Build Logs

+
+ + + diff --git a/build-logs.pl b/build-logs.pl new file mode 100644 index 000000000..4b3c2a4d2 --- /dev/null +++ b/build-logs.pl @@ -0,0 +1,76 @@ +#!/usr/bin/perl + +#~ Copyright 2003, Rene Rivera. +#~ Use, modification and distribution are subject to the Boost Software +#~ License Version 1.0. (See accompanying file LICENSE_1_0.txt or +#~ http://www.boost.org/LICENSE_1_0.txt) + +use FileHandle; +use Time::Local; + +my $logdir = "$ENV{PWD}"; +#~ my $logdir = "C:\\CVSROOTs\\Boost\\boost"; +#~ open STDOUT,">C:\\CVSROOTs\\Boost\\boost\\build-logs.html"; +opendir LOGS, "$logdir"; +my @logs = grep /build-.*log$/, readdir LOGS; +closedir LOGS; +my @bgcolor = ( "bgcolor=\"#EEEEFF\"", "" ); +print "\n"; +print "\n", + "\n", + "\n", + "\n", + "\n", + "\n"; +foreach $l (sort { lc($a) cmp lc($b) } @logs) +{ + my $log = $l; + my $fh = new FileHandle; + if ($fh->open("<$logdir/$log")) + { + my $content = join('',$fh->getlines()); + $fh->close; + print + "\n", + " \n"; + my %failures; + my %warnings; + my $action_regex = "\\n[\\w\\+\\-]+\\s(?:bin|stage)"; + my @actions = ($content =~ /($action_regex(?:.(?!$action_regex))*.)/gis); + my $action_target; + foreach my $a (@actions) + { + my ($at) = ($a =~ /$action_regex.boost.libs.([^\\\/]*.[^\\\/]*.[^\\\/]*)/gi); + my ($action) = ($a =~/\n([\w\+\-]+)/); + if ($at) { $action_target = $at; } + my ($lib) = ($action_target =~ /([^\\\/]*)/i); + $failures{$lib} += 0; + $warnings{$lib} += 0; + my ($f) = ($a =~ /\n\.\.\.failed\s([^\s]+)/is); + if ($f && $f eq "$action") { $failures{$lib} += 1; } + $warnings{$lib} += scalar ($a =~ /(warning(?:\s#\d+)?\:)/gis); + } + my @libs = sort(keys %failures); + foreach my $l (0..scalar(@libs)-1) + { + print + " \n", + " \n", + " \n", + "\n"; + if ($l < scalar(@libs)) + { + print + "\n", + " \n"; + } + } + print "\n"; + } +} +print "
BuildLibraryWarningsFailures
",$log,"",$libs[$l],""; + if ($warnings{$libs[$l]} > 0) { print $warnings{$libs[$l]}; } + print ""; + if ($failures{$libs[$l]} > 0) { print $failures{$libs[$l]}; } + else { print " "; } + print "

\n";