uh_parser/RaptorUnreciped.pm
author William Roberts <williamr@symbian.org>
Thu, 30 Sep 2010 11:54:42 +0100
changeset 325 28c70cc5e86f
parent 311 09f57a9bad07
permissions -rw-r--r--
Add --norev option to ignore the revision information in packagelists (mostly for the default hg pull behaviour) Improve the csv file parsing to allow spaces in the comma-separated information Remove the export_control_special_case in line with the main website practice Add a distinct hostname for the pushurl, so we pull from "developer.symbian.org" and push to "developer-secure.symbian.org"
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
177
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
     1
# Copyright (c) 2009 Symbian Foundation Ltd
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
     2
# This component and the accompanying materials are made available
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
     3
# under the terms of the License "Eclipse Public License v1.0"
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
     4
# which accompanies this distribution, and is available
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
     5
# at the URL "http://www.eclipse.org/legal/epl-v10.html".
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
     6
#
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
     7
# Initial Contributors:
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
     8
# Symbian Foundation Ltd - initial contribution.
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
     9
#
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
    10
# Contributors:
258
08436a227940 Add author information. Reviewed descriptions
Dario Sestito <darios@symbian.org>
parents: 252
diff changeset
    11
# Dario Sestito <darios@symbian.org>
177
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
    12
#
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
    13
# Description:
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
    14
# Raptor parser module.
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
    15
# Extract, analyzes and dumps text in <buildlog> context which doesn't belong to any <recipe> tags
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
    16
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
    17
package RaptorUnreciped;
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
    18
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
    19
use strict;
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
    20
use RaptorCommon;
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
    21
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
    22
our $reset_status = {};
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
    23
my $buildlog_status = {};
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
    24
my $buildlog_subtag_status = {};
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
    25
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
    26
$reset_status->{name} = 'reset_status';
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
    27
$reset_status->{next_status} = {buildlog=>$buildlog_status};
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
    28
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
    29
$buildlog_status->{name} = 'buildlog_status';
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
    30
$buildlog_status->{next_status} = {'?default?'=>$buildlog_subtag_status};
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
    31
$buildlog_status->{on_start} = 'RaptorUnreciped::on_start_buildlog';
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
    32
$buildlog_status->{on_end} = 'RaptorUnreciped::on_end_buildlog';
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
    33
$buildlog_status->{on_chars} = 'RaptorUnreciped::on_chars_buildlog';
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
    34
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
    35
$buildlog_subtag_status->{name} = 'buildlog_subtag_status';
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
    36
$buildlog_subtag_status->{next_status} = {};
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
    37
$buildlog_subtag_status->{on_start} = 'RaptorUnreciped::on_start_buildlog_subtag';
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
    38
$buildlog_subtag_status->{on_end} = 'RaptorUnreciped::on_end_buildlog_subtag';
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
    39
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
    40
my $filename = '';
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
    41
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
    42
my $characters = '';
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
    43
my $store_chars = 1;
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
    44
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
    45
my $CATEGORY_RAPTORUNRECIPED = 'raptor_unreciped';
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
    46
my $CATEGORY_RAPTORUNRECIPED_IGNORINGOLDCOMMANDSFORTARGET = 'ignoring_old_commands_for_target';
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
    47
my $CATEGORY_RAPTORUNRECIPED_OVERRIDINGCOMMANDSFORTARGET = 'overriding_commands_for_target';
182
d7b846505d9e Add more categories for unreciped failures
Dario Sestito <darios@symbian.org>
parents: 177
diff changeset
    48
my $CATEGORY_RAPTORUNRECIPED_MAKE_TARGETNOTREMADEBECAUSEOFERRORS = 'make_target_not_remade_because_of_errors';
185
978ef35b4e5f Add more categories for unreciped and raptor error failures
Dario Sestito <darios@symbian.org>
parents: 182
diff changeset
    49
my $CATEGORY_RAPTORUNRECIPED_MAKE_NORULETOMAKETARGETNEEDEDBY = 'make_no_rule_to_make_target_needed_by';
182
d7b846505d9e Add more categories for unreciped failures
Dario Sestito <darios@symbian.org>
parents: 177
diff changeset
    50
my $CATEGORY_RAPTORUNRECIPED_MAKE_NORULETOMAKETARGET = 'make_no_rule_to_make_target';
177
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
    51
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
    52
sub process
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
    53
{
186
b76adfbc6648 Don't dump failures which aren't reported
Dario Sestito <darios@symbian.org>
parents: 185
diff changeset
    54
	my ($text, $logfile, $component, $mmp, $phase, $recipe, $file) = @_;
b76adfbc6648 Don't dump failures which aren't reported
Dario Sestito <darios@symbian.org>
parents: 185
diff changeset
    55
	
b76adfbc6648 Don't dump failures which aren't reported
Dario Sestito <darios@symbian.org>
parents: 185
diff changeset
    56
	my $dumped = 1;
177
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
    57
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
    58
	my $category = $CATEGORY_RAPTORUNRECIPED;	
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
    59
	my $severity = '';
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
    60
	my $subcategory = '';
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
    61
	
238
1040fbff0705 Remove redundant category no_rule_to_make_target for Raptor unreciped text
Dario Sestito <darios@symbian.org>
parents: 236
diff changeset
    62
	if ($text =~ m,: warning: ignoring old commands for target,)
177
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
    63
	{
185
978ef35b4e5f Add more categories for unreciped and raptor error failures
Dario Sestito <darios@symbian.org>
parents: 182
diff changeset
    64
		# don't dump
186
b76adfbc6648 Don't dump failures which aren't reported
Dario Sestito <darios@symbian.org>
parents: 185
diff changeset
    65
		$dumped = 0;
177
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
    66
	}
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
    67
	elsif ($text =~ m,: warning: overriding commands for target,)
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
    68
	{
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
    69
		$severity = $RaptorCommon::SEVERITY_MINOR;
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
    70
		my $subcategory = $CATEGORY_RAPTORUNRECIPED_OVERRIDINGCOMMANDSFORTARGET;
186
b76adfbc6648 Don't dump failures which aren't reported
Dario Sestito <darios@symbian.org>
parents: 185
diff changeset
    71
		RaptorCommon::dump_fault($category, $subcategory, $severity, $logfile, $component, $mmp, $phase, $recipe, $file);
177
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
    72
	}
238
1040fbff0705 Remove redundant category no_rule_to_make_target for Raptor unreciped text
Dario Sestito <darios@symbian.org>
parents: 236
diff changeset
    73
	elsif ($text =~ m,^make(\.exe)?: \*\*\* No rule to make target .* needed by .*,)
182
d7b846505d9e Add more categories for unreciped failures
Dario Sestito <darios@symbian.org>
parents: 177
diff changeset
    74
	{
264
f10adc84543a Raise level of severity for 'make: no rule to make target' errors to major as they are root causes
Dario Sestito <darios@symbian.org>
parents: 260
diff changeset
    75
		$severity = $RaptorCommon::SEVERITY_MAJOR;
185
978ef35b4e5f Add more categories for unreciped and raptor error failures
Dario Sestito <darios@symbian.org>
parents: 182
diff changeset
    76
		my $subcategory = $CATEGORY_RAPTORUNRECIPED_MAKE_NORULETOMAKETARGETNEEDEDBY;
186
b76adfbc6648 Don't dump failures which aren't reported
Dario Sestito <darios@symbian.org>
parents: 185
diff changeset
    77
		RaptorCommon::dump_fault($category, $subcategory, $severity, $logfile, $component, $mmp, $phase, $recipe, $file);
185
978ef35b4e5f Add more categories for unreciped and raptor error failures
Dario Sestito <darios@symbian.org>
parents: 182
diff changeset
    78
	}
188
dbf40764ca6a Match both make: and make.exe: in some unreciped regexp
Dario Sestito <darios@symbian.org>
parents: 186
diff changeset
    79
	elsif ($text =~ m,^make(\.exe)?: \*\*\* No rule to make target .*,)
185
978ef35b4e5f Add more categories for unreciped and raptor error failures
Dario Sestito <darios@symbian.org>
parents: 182
diff changeset
    80
	{
264
f10adc84543a Raise level of severity for 'make: no rule to make target' errors to major as they are root causes
Dario Sestito <darios@symbian.org>
parents: 260
diff changeset
    81
		$severity = $RaptorCommon::SEVERITY_MAJOR;
182
d7b846505d9e Add more categories for unreciped failures
Dario Sestito <darios@symbian.org>
parents: 177
diff changeset
    82
		my $subcategory = $CATEGORY_RAPTORUNRECIPED_MAKE_NORULETOMAKETARGET;
186
b76adfbc6648 Don't dump failures which aren't reported
Dario Sestito <darios@symbian.org>
parents: 185
diff changeset
    83
		RaptorCommon::dump_fault($category, $subcategory, $severity, $logfile, $component, $mmp, $phase, $recipe, $file);
182
d7b846505d9e Add more categories for unreciped failures
Dario Sestito <darios@symbian.org>
parents: 177
diff changeset
    84
	}
232
0244765a8d6f Add heuristic determination of package for Raptor errors and warnings
Dario Sestito <darios@symbian.org>
parents: 188
diff changeset
    85
	elsif ($text =~ m,^make(\.exe)?: \*\*\* .* Error \d,)
0244765a8d6f Add heuristic determination of package for Raptor errors and warnings
Dario Sestito <darios@symbian.org>
parents: 188
diff changeset
    86
	{
0244765a8d6f Add heuristic determination of package for Raptor errors and warnings
Dario Sestito <darios@symbian.org>
parents: 188
diff changeset
    87
		# don't dump
0244765a8d6f Add heuristic determination of package for Raptor errors and warnings
Dario Sestito <darios@symbian.org>
parents: 188
diff changeset
    88
		$dumped = 0;
0244765a8d6f Add heuristic determination of package for Raptor errors and warnings
Dario Sestito <darios@symbian.org>
parents: 188
diff changeset
    89
	}
0244765a8d6f Add heuristic determination of package for Raptor errors and warnings
Dario Sestito <darios@symbian.org>
parents: 188
diff changeset
    90
	elsif ($text =~ m,^make(\.exe)?: Target .* not remade because of errors,)
0244765a8d6f Add heuristic determination of package for Raptor errors and warnings
Dario Sestito <darios@symbian.org>
parents: 188
diff changeset
    91
	{
0244765a8d6f Add heuristic determination of package for Raptor errors and warnings
Dario Sestito <darios@symbian.org>
parents: 188
diff changeset
    92
		# don't dump
0244765a8d6f Add heuristic determination of package for Raptor errors and warnings
Dario Sestito <darios@symbian.org>
parents: 188
diff changeset
    93
		$dumped = 0;
0244765a8d6f Add heuristic determination of package for Raptor errors and warnings
Dario Sestito <darios@symbian.org>
parents: 188
diff changeset
    94
	}
188
dbf40764ca6a Match both make: and make.exe: in some unreciped regexp
Dario Sestito <darios@symbian.org>
parents: 186
diff changeset
    95
	elsif ($text =~ m,^make(\.exe)?: Nothing to be done for .*,)
177
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
    96
	{
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
    97
		# don't dump
186
b76adfbc6648 Don't dump failures which aren't reported
Dario Sestito <darios@symbian.org>
parents: 185
diff changeset
    98
		$dumped = 0;
177
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
    99
	}
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   100
	elsif ($text =~ m,^(true|false)$,)
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   101
	{
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   102
		# don't dump
186
b76adfbc6648 Don't dump failures which aren't reported
Dario Sestito <darios@symbian.org>
parents: 185
diff changeset
   103
		$dumped = 0;
177
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   104
	}
185
978ef35b4e5f Add more categories for unreciped and raptor error failures
Dario Sestito <darios@symbian.org>
parents: 182
diff changeset
   105
	elsif ($text =~ m,win32/cygwin/bin/cp\.exe,)
978ef35b4e5f Add more categories for unreciped and raptor error failures
Dario Sestito <darios@symbian.org>
parents: 182
diff changeset
   106
	{
978ef35b4e5f Add more categories for unreciped and raptor error failures
Dario Sestito <darios@symbian.org>
parents: 182
diff changeset
   107
		# don't dump
186
b76adfbc6648 Don't dump failures which aren't reported
Dario Sestito <darios@symbian.org>
parents: 185
diff changeset
   108
		$dumped = 0;
185
978ef35b4e5f Add more categories for unreciped and raptor error failures
Dario Sestito <darios@symbian.org>
parents: 182
diff changeset
   109
	}
978ef35b4e5f Add more categories for unreciped and raptor error failures
Dario Sestito <darios@symbian.org>
parents: 182
diff changeset
   110
	elsif ($text =~ m,epoc32/tools/svgtbinencode\.exe,)
978ef35b4e5f Add more categories for unreciped and raptor error failures
Dario Sestito <darios@symbian.org>
parents: 182
diff changeset
   111
	{
978ef35b4e5f Add more categories for unreciped and raptor error failures
Dario Sestito <darios@symbian.org>
parents: 182
diff changeset
   112
		# don't dump
186
b76adfbc6648 Don't dump failures which aren't reported
Dario Sestito <darios@symbian.org>
parents: 185
diff changeset
   113
		$dumped = 0;
185
978ef35b4e5f Add more categories for unreciped and raptor error failures
Dario Sestito <darios@symbian.org>
parents: 182
diff changeset
   114
	}
978ef35b4e5f Add more categories for unreciped and raptor error failures
Dario Sestito <darios@symbian.org>
parents: 182
diff changeset
   115
	elsif ($text =~ m,win32/cygwin/bin/chmod\.exe a\+rw,)
978ef35b4e5f Add more categories for unreciped and raptor error failures
Dario Sestito <darios@symbian.org>
parents: 182
diff changeset
   116
	{
978ef35b4e5f Add more categories for unreciped and raptor error failures
Dario Sestito <darios@symbian.org>
parents: 182
diff changeset
   117
		# don't dump
186
b76adfbc6648 Don't dump failures which aren't reported
Dario Sestito <darios@symbian.org>
parents: 185
diff changeset
   118
		$dumped = 0;
185
978ef35b4e5f Add more categories for unreciped and raptor error failures
Dario Sestito <darios@symbian.org>
parents: 182
diff changeset
   119
	}
232
0244765a8d6f Add heuristic determination of package for Raptor errors and warnings
Dario Sestito <darios@symbian.org>
parents: 188
diff changeset
   120
	elsif ($text =~ m,^make(\.exe)?: \*\*\* Waiting for unfinished jobs\.\.\.\.,)
0244765a8d6f Add heuristic determination of package for Raptor errors and warnings
Dario Sestito <darios@symbian.org>
parents: 188
diff changeset
   121
	{
0244765a8d6f Add heuristic determination of package for Raptor errors and warnings
Dario Sestito <darios@symbian.org>
parents: 188
diff changeset
   122
		# don't dump
0244765a8d6f Add heuristic determination of package for Raptor errors and warnings
Dario Sestito <darios@symbian.org>
parents: 188
diff changeset
   123
		$dumped = 0;
0244765a8d6f Add heuristic determination of package for Raptor errors and warnings
Dario Sestito <darios@symbian.org>
parents: 188
diff changeset
   124
	}
177
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   125
	else # log everything by default
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   126
	{
186
b76adfbc6648 Don't dump failures which aren't reported
Dario Sestito <darios@symbian.org>
parents: 185
diff changeset
   127
		RaptorCommon::dump_fault($category, $subcategory, $severity, $logfile, $component, $mmp, $phase, $recipe, $file);
177
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   128
	}
186
b76adfbc6648 Don't dump failures which aren't reported
Dario Sestito <darios@symbian.org>
parents: 185
diff changeset
   129
	
b76adfbc6648 Don't dump failures which aren't reported
Dario Sestito <darios@symbian.org>
parents: 185
diff changeset
   130
	return $dumped;
177
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   131
}
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   132
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   133
sub on_start_buildlog
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   134
{
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   135
	RaptorCommon::init();
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   136
}
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   137
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   138
sub on_chars_buildlog
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   139
{
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   140
	my ($ch) = @_;
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   141
	
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   142
	#print "on_chars_buildlog\n";
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   143
	
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   144
	if ($store_chars)
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   145
	{
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   146
		$characters .= $ch->{Data};
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   147
		
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   148
		#print "characters is now -->$characters<--\n";
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   149
	}
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   150
}
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   151
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   152
sub on_end_buildlog_subtag
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   153
{
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   154
	$store_chars = 1;
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   155
}
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   156
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   157
sub process_characters
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   158
{
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   159
	#print "process_characters\n";
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   160
	
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   161
	$characters =~ s,^[\r\n]*,,;
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   162
	$characters =~ s,[\r\n]*$,,;
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   163
	
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   164
	#print "characters is -->$characters<--\n";
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   165
	
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   166
	my @lines = split(/[\r\n]/, $characters);
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   167
	for my $line (@lines)
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   168
	{
233
cf1d34408de3 Add heuristic determination of package for Raptor unreciped text
Dario Sestito <darios@symbian.org>
parents: 232
diff changeset
   169
		my $package = '';
cf1d34408de3 Add heuristic determination of package for Raptor unreciped text
Dario Sestito <darios@symbian.org>
parents: 232
diff changeset
   170
		my $guessed_bldinf = '';
cf1d34408de3 Add heuristic determination of package for Raptor unreciped text
Dario Sestito <darios@symbian.org>
parents: 232
diff changeset
   171
		# if bldinf attribute is not available then heuristically attempt to determine the package
311
09f57a9bad07 Add 'adapt' to the list of layers to match for heuristical pacakge attribution and for truclean
Dario Sestito <darios@symbian.org>
parents: 293
diff changeset
   172
		if ($line =~ m,.*?([/\\]sf[/\\](os|mw|app|tools|ostools|adaptation|adapt)[/\\][a-zA-Z]+[/\\]?),s)
233
cf1d34408de3 Add heuristic determination of package for Raptor unreciped text
Dario Sestito <darios@symbian.org>
parents: 232
diff changeset
   173
		{
cf1d34408de3 Add heuristic determination of package for Raptor unreciped text
Dario Sestito <darios@symbian.org>
parents: 232
diff changeset
   174
			$guessed_bldinf = "$1... (guessed)";
cf1d34408de3 Add heuristic determination of package for Raptor unreciped text
Dario Sestito <darios@symbian.org>
parents: 232
diff changeset
   175
		}
cf1d34408de3 Add heuristic determination of package for Raptor unreciped text
Dario Sestito <darios@symbian.org>
parents: 232
diff changeset
   176
		
cf1d34408de3 Add heuristic determination of package for Raptor unreciped text
Dario Sestito <darios@symbian.org>
parents: 232
diff changeset
   177
		if ($guessed_bldinf)
cf1d34408de3 Add heuristic determination of package for Raptor unreciped text
Dario Sestito <darios@symbian.org>
parents: 232
diff changeset
   178
		{
cf1d34408de3 Add heuristic determination of package for Raptor unreciped text
Dario Sestito <darios@symbian.org>
parents: 232
diff changeset
   179
			$::allbldinfs->{$guessed_bldinf} = 1;
cf1d34408de3 Add heuristic determination of package for Raptor unreciped text
Dario Sestito <darios@symbian.org>
parents: 232
diff changeset
   180
			
293
a02973783e64 Extend UH parser to cope with tools build
Dario Sestito <darios@symbian.org>
parents: 264
diff changeset
   181
			RaptorCommon::normalize_bldinf_path(\$guessed_bldinf);
233
cf1d34408de3 Add heuristic determination of package for Raptor unreciped text
Dario Sestito <darios@symbian.org>
parents: 232
diff changeset
   182
			
293
a02973783e64 Extend UH parser to cope with tools build
Dario Sestito <darios@symbian.org>
parents: 264
diff changeset
   183
			$package = RaptorCommon::get_package_subpath($guessed_bldinf);
a02973783e64 Extend UH parser to cope with tools build
Dario Sestito <darios@symbian.org>
parents: 264
diff changeset
   184
			$package =~ s,/,_,g;
233
cf1d34408de3 Add heuristic determination of package for Raptor unreciped text
Dario Sestito <darios@symbian.org>
parents: 232
diff changeset
   185
		}
cf1d34408de3 Add heuristic determination of package for Raptor unreciped text
Dario Sestito <darios@symbian.org>
parents: 232
diff changeset
   186
			
177
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   187
		if ($line =~ m,[^\s^\r^\n],)
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   188
		{
233
cf1d34408de3 Add heuristic determination of package for Raptor unreciped text
Dario Sestito <darios@symbian.org>
parents: 232
diff changeset
   189
			$filename = "$::raptorbitsdir/raptor_unreciped.txt";
cf1d34408de3 Add heuristic determination of package for Raptor unreciped text
Dario Sestito <darios@symbian.org>
parents: 232
diff changeset
   190
			$filename = "$::raptorbitsdir/$package.txt" if ($package);
cf1d34408de3 Add heuristic determination of package for Raptor unreciped text
Dario Sestito <darios@symbian.org>
parents: 232
diff changeset
   191
			my $filenamewnopath = "raptor_unreciped.txt";
cf1d34408de3 Add heuristic determination of package for Raptor unreciped text
Dario Sestito <darios@symbian.org>
parents: 232
diff changeset
   192
			$filenamewnopath = "$package.txt" if ($package);
cf1d34408de3 Add heuristic determination of package for Raptor unreciped text
Dario Sestito <darios@symbian.org>
parents: 232
diff changeset
   193
			
cf1d34408de3 Add heuristic determination of package for Raptor unreciped text
Dario Sestito <darios@symbian.org>
parents: 232
diff changeset
   194
			if (!-f$filename)
cf1d34408de3 Add heuristic determination of package for Raptor unreciped text
Dario Sestito <darios@symbian.org>
parents: 232
diff changeset
   195
			{
cf1d34408de3 Add heuristic determination of package for Raptor unreciped text
Dario Sestito <darios@symbian.org>
parents: 232
diff changeset
   196
				print "Writing file $filename\n";
cf1d34408de3 Add heuristic determination of package for Raptor unreciped text
Dario Sestito <darios@symbian.org>
parents: 232
diff changeset
   197
				open(FILE, ">$filename");
cf1d34408de3 Add heuristic determination of package for Raptor unreciped text
Dario Sestito <darios@symbian.org>
parents: 232
diff changeset
   198
				close(FILE);
cf1d34408de3 Add heuristic determination of package for Raptor unreciped text
Dario Sestito <darios@symbian.org>
parents: 232
diff changeset
   199
			}
cf1d34408de3 Add heuristic determination of package for Raptor unreciped text
Dario Sestito <darios@symbian.org>
parents: 232
diff changeset
   200
		
cf1d34408de3 Add heuristic determination of package for Raptor unreciped text
Dario Sestito <darios@symbian.org>
parents: 232
diff changeset
   201
			my $dumped = process($line, $::current_log_file, $guessed_bldinf, '', '', '', $filenamewnopath);
177
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   202
			
186
b76adfbc6648 Don't dump failures which aren't reported
Dario Sestito <darios@symbian.org>
parents: 185
diff changeset
   203
			if ($dumped)
177
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   204
			{
186
b76adfbc6648 Don't dump failures which aren't reported
Dario Sestito <darios@symbian.org>
parents: 185
diff changeset
   205
				open(FILE, ">>$filename");
b76adfbc6648 Don't dump failures which aren't reported
Dario Sestito <darios@symbian.org>
parents: 185
diff changeset
   206
				print FILE "---failure_item_$::failure_item_number\---\n";
b76adfbc6648 Don't dump failures which aren't reported
Dario Sestito <darios@symbian.org>
parents: 185
diff changeset
   207
				print FILE "$line\n\n";
177
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   208
				close(FILE);
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   209
			}
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   210
		}
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   211
	}
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   212
	
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   213
	$characters = '';
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   214
	$store_chars = 0;
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   215
}
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   216
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   217
sub on_start_buildlog_subtag
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   218
{
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   219
	#print "on_start_buildlog_subtag\n";
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   220
	
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   221
	process_characters();
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   222
}
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   223
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   224
sub on_end_buildlog
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   225
{
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   226
	process_characters();
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   227
}
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   228
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   229
6d3c3db11e72 Add Raptor uh parser
Dario Sestito <darios@symbian.org>
parents:
diff changeset
   230
1;