diff -r 75a71fdb4c92 -r 7d11f9a6646f devicediagnostics/group/parse_build_warnings.pl --- a/devicediagnostics/group/parse_build_warnings.pl Tue Feb 02 00:03:17 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,140 +0,0 @@ -# -# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). -# All rights reserved. -# This component and the accompanying materials are made available -# under the terms of "Eclipse Public License v1.0" -# which accompanies this distribution, and is available -# at the URL "http://www.eclipse.org/legal/epl-v10.html". -# -# Initial Contributors: -# Nokia Corporation - initial contribution. -# -# Contributors: -# -# Description: -# -###################################################################### -# ****************************************Script info : See footer.**************************************** -###################################################################### - -use strict; -use Getopt::Long; - -my($log_file,$warning_file,$help,$line,%warnings,$comp_path,%type_by_comp); - -GetOptions ( - 'log_file=s' => \$log_file, - 'warning_file=s' => \$warning_file, - 'help' => \$help - ); - -usage() if($help); - -if(!$log_file){ - print "ERROR : No log file parse! Exiting...\n"; - usage(); -} #if - -$warning_file=$log_file.".warnings.csv" if(!$warning_file); - -open(IN,$log_file) || die "Cannot open $log_file\n"; -while($line=){ - my $key=""; - my $val=""; - chomp($line); - if($line =~ /^Chdir\s+(.*)/i){ - $comp_path=$1; - $comp_path=~ s/\\group$//i; - #$type_by_comp{$comp_path}; - }#if - if($line =~ /\bwarning\b/ig){ - if($line =~ /\bwarning\s+(\w+\d+)\:/i || $line =~ /\bwarning\:\s+(\#\d+\-\w+)\:/i || $line =~ /\bwarning\:\s+(\w+\d+\w+)\:/i){ - $key=$1; - if(exists $warnings{$key}){ - $warnings{$key}++; - } - else{ - $warnings{$key}=1; - }#if - # } - # else{ - # push @other_warnings,($val); - }#if - if ($key ne ""){ - if(exists $type_by_comp{$comp_path}{$key}){ - $type_by_comp{$comp_path}{$key}++; - } - else{ - $type_by_comp{$comp_path}{$key}=1; - }#if - }#if - }#if - -}#while -close(IN); - -open(OUT,">".$warning_file) || die "Cannot open $warning_file\n"; - -print OUT "\nCOUNTING WARNINGS BY TYPE\n\n"; -print OUT "Warning,Count\n"; -for my $w ( sort keys %warnings ) { - print OUT "$w,$warnings{$w}\n"; -}#for -print OUT "\n"; - -print OUT "\nSHOWING SPECIFIC WARNINGS BY COMPONENT AND TYPE\n\n"; -print OUT "Component,Total warnings by component,Warnings\n"; - -for my $co ( sort keys %type_by_comp ) { - print OUT "\n$co,"; - my @ctvals=values %{ $type_by_comp{$co} }; - my $ctsum=0; - foreach my $cval(@ctvals){ - $ctsum+=$cval; - }#foreach - print OUT "$ctsum,"; - for my $ty ( sort keys %{ $type_by_comp{$co} } ) { - print OUT " $ty=$type_by_comp{$co}{$ty} "; - }#for -}#for -print OUT "\n\n"; - -close(OUT); - -#--------------------------------------------------------------# - -sub usage{ - while(){ - print; - } #while - exit; -} #sub - -__DATA__ - -#--------------------------------------------------------------# -#-------------------------- USAGE -----------------------------# -#--------------------------------------------------------------# - Script name: parse_build_warnings.pl - - Copyright (c) 2007-2008 Nokia. All rights reserved. - - Purpose: - - To parse warning messages from s60 platform build log. - - Revision History: - - v0.1.0 19.09.2007 Qvist Heikki Initial version. - v0.1.1 20.09.2007 Qvist Heikki Count warnings. - v0.1.2 10.10.2007 Qvist Heikki Count warnings per a component. - v0.2.0 10.01.2008 Qvist Heikki Clean useless output. Fix counters (0 -> 1). - v0.3.0 10.01.2008 Qvist Heikki Output to CSV-file for Excel reading. - - Commandline options: - - -h show this info. - -l log file to parse out. - -w output file contain warnings. - If not given, .warnings.txt is generated. -#--------------------------------------------------------------#