130 $saxhandler->add_observer('RaptorRecipe', $RaptorRecipe::reset_status); |
130 $saxhandler->add_observer('RaptorRecipe', $RaptorRecipe::reset_status); |
131 $saxhandler->add_observer('releaseables', $releaseables::reset_status); |
131 $saxhandler->add_observer('releaseables', $releaseables::reset_status); |
132 |
132 |
133 our $allbldinfs = {}; |
133 our $allbldinfs = {}; |
134 our $allconfigs = {}; |
134 our $allconfigs = {}; |
|
135 our $releaseables_by_package = {}; |
135 |
136 |
136 my $parser = XML::SAX::ParserFactory->parser(Handler=>$saxhandler); |
137 my $parser = XML::SAX::ParserFactory->parser(Handler=>$saxhandler); |
137 for (@logfiles) |
138 for (@logfiles) |
138 { |
139 { |
139 print "Reading file: $_\n"; |
140 print "Reading file: $_\n"; |
140 $current_log_file = $_; |
141 $current_log_file = $_; |
141 $parser->parse_uri($_); |
142 $parser->parse_uri($_); |
142 } |
143 } |
143 |
144 |
|
145 print "Removing duplicates from missing files\n"; |
144 releaseables::remove_missing_duplicates(); |
146 releaseables::remove_missing_duplicates(); |
|
147 print "Counting releasables\n"; |
|
148 releaseables::count_distinct(); |
145 |
149 |
146 my @allpackages = distinct_packages($allbldinfs); |
150 my @allpackages = distinct_packages($allbldinfs); |
147 |
151 |
148 print "Generating HTML...\n"; |
152 print "Generating HTML\n"; |
149 |
153 |
150 system("rd /S /Q $outputdir") if (-d $outputdir); |
154 system("rd /S /Q $outputdir") if (-d $outputdir); |
151 mkdir ($outputdir); |
155 mkdir ($outputdir); |
152 |
156 |
153 my $raptor_errors = {}; |
157 my $raptor_errors = {}; |
313 { |
317 { |
314 my $failuresbyseverity = 0; |
318 my $failuresbyseverity = 0; |
315 $failuresbyseverity = $recipe_failures_num_by_severity->{$package}->{$_} if (defined $recipe_failures_num_by_severity->{$package}->{$_}); |
319 $failuresbyseverity = $recipe_failures_num_by_severity->{$package}->{$_} if (defined $recipe_failures_num_by_severity->{$package}->{$_}); |
316 $packageline .= "<td>$failuresbyseverity</td>"; |
320 $packageline .= "<td>$failuresbyseverity</td>"; |
317 } |
321 } |
318 $packageline .= "<td>".$missing_by_package->{$package}."</td>" if ($missing); |
322 #print "package $package, releasables in this package: $releaseables_by_package->{$package}\n"; |
|
323 $packageline .= "<td>".$missing_by_package->{$package}."/".$releaseables_by_package->{$package}."</td>" if ($missing); |
319 $packageline .= "</tr>\n"; |
324 $packageline .= "</tr>\n"; |
320 print AGGREGATED "$packageline\n"; |
325 print AGGREGATED "$packageline\n"; |
321 } |
326 } |
322 # don't display the unknown/unknown package unless there are associated failures |
327 # don't display the unknown/unknown package unless there are associated failures |
323 elsif ($package eq 'unknown/unknown') {} |
328 elsif ($package eq 'unknown/unknown') {} |
324 else |
329 else |
325 { |
330 { |
326 my $packageline = "<tr><td>$package</td>"; |
331 my $packageline = "<tr><td>$package</td>"; |
327 for (@severities) { $packageline .= "<td>0</td>"; } |
332 for (@severities) { $packageline .= "<td>0</td>"; } |
328 $packageline .= "<td>0</td>" if ($missing); |
333 $packageline .= "<td>0/$releaseables_by_package->{$package}</td>" if ($missing); |
329 $packageline .= "</tr>\n"; |
334 $packageline .= "</tr>\n"; |
330 print AGGREGATED "$packageline\n"; |
335 print AGGREGATED "$packageline\n"; |
331 } |
336 } |
332 } |
337 } |
333 print AGGREGATED "</table>\n"; |
338 print AGGREGATED "</table>\n"; |