author | andy simpson <andrews@symbian.org> |
Fri, 15 Oct 2010 16:47:51 +0100 | |
changeset 326 | c0fb460d1a21 |
parent 305 | 247cb9582bd0 |
permissions | -rw-r--r-- |
234
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
1 |
#!/usr/bin/perl |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
2 |
|
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
3 |
# Copyright (c) 2009 Symbian Foundation Ltd |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
4 |
# This component and the accompanying materials are made available |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
5 |
# under the terms of the License "Eclipse Public License v1.0" |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
6 |
# which accompanies this distribution, and is available |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
7 |
# at the URL "http://www.eclipse.org/legal/epl-v10.html". |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
8 |
# |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
9 |
# Initial Contributors: |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
10 |
# Symbian Foundation Ltd - initial contribution. |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
11 |
# Maciej Seroka, maciejs@symbian.org |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
12 |
# |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
13 |
# Description: |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
14 |
# This is a tool for filtering static BC libraries reports. |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
15 |
|
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
16 |
use strict; |
240
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
17 |
use Getopt::Long; |
234
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
18 |
use XML::Simple; |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
19 |
use Tie::File; |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
20 |
|
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
21 |
my $report; |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
22 |
my $xref_file; |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
23 |
my $destfile; |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
24 |
my $missing_destfile; |
240
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
25 |
my $pkg_destfile; |
234
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
26 |
my @lines; |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
27 |
my $line; |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
28 |
my $n; |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
29 |
my $m; |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
30 |
my $counter; |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
31 |
my $short_name; |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
32 |
my $del_ok_issues = 1; # This variable determines whether to delete OK issues first. |
305
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
33 |
my $del_non_public = 1; # This variable determines whether to delete non-public API issues. |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
34 |
my $gen_missing_report = 0; # This variable determines whether to produce report for missing libraries. |
234
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
35 |
my $issues_num; |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
36 |
my $issue_name; |
240
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
37 |
my ($xref_name, $xref_type, $xref_line, $xref_hdr, $xref_def); |
234
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
38 |
my $delete_node; |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
39 |
my @non_public_list; |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
40 |
my $current_item; |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
41 |
my $check_against_xref; |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
42 |
my $temp_lib_num; |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
43 |
my $temp_counter; |
305
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
44 |
my $sub_reports = 0; # This variable determines whether to generate sub-reports per package. |
240
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
45 |
my @lines_to_ignore = ("\\\\build\\\\", "\\\\compsupp\\\\", "\\\\uc_dll."); # This is the list of key words based on which a line potentially containing a package name will be ignored (skipped). |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
46 |
my @pkgs; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
47 |
my $baselinedlldir; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
48 |
my $lib_name; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
49 |
my $map_name; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
50 |
my $map_found; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
51 |
my ($layer_name, $package_name); |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
52 |
my $pkg_found; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
53 |
my $pkgs_num; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
54 |
my $add_pkg; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
55 |
my $nomap; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
56 |
my $help; |
234
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
57 |
|
240
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
58 |
sub usage($); |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
59 |
sub help(); |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
60 |
sub usage_error(); |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
61 |
|
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
62 |
my %optmap = ( 'libraries-report' => \$report, |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
63 |
'xref-file' => \$xref_file, |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
64 |
'baseline-dll-dir' => \$baselinedlldir, |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
65 |
'help' => \$help); |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
66 |
|
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
67 |
GetOptions(\%optmap, |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
68 |
'libraries-report=s', |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
69 |
'xref-file=s', |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
70 |
'baseline-dll-dir=s', |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
71 |
'help!') |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
72 |
or usage_error(); |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
73 |
|
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
74 |
if ($help) { |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
75 |
help(); |
234
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
76 |
} |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
77 |
|
240
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
78 |
# --libraries-report is mandatory. |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
79 |
usage_error(), unless (defined($report)); |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
80 |
|
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
81 |
# --xref-file is mandatory. |
305
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
82 |
usage_error(), unless ((defined($xref_file)) or (!($del_non_public))); |
240
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
83 |
|
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
84 |
# Define output files based on the libraries report name. |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
85 |
$destfile = "filtered_" . $report; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
86 |
$missing_destfile = "missing_" . $report; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
87 |
|
234
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
88 |
# Parse the input XMLs into hashrefs. |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
89 |
print "Parsing " . $report . "... "; |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
90 |
my $current_report = XMLin("./$report", keeproot => 1, |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
91 |
forcearray => [ 'header', 'baselineversion', 'currentversion', 'timestamp', 'day', 'month', 'year', 'hour', 'minute', 'second', # |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
92 |
'laversion', 'formatversion', 'cmdlineparms', 'parm', 'pname', 'pvalue', 'knownissuesversion', 'os', 'version', 'buildweek', 'issuelist',# |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
93 |
'library', 'name', 'comparefilename', 'shortname', 'baseplatform', 'currentplatform', 'issue', 'typeinfo', 'typeid', 'funcname', 'newfuncname', 'newfuncpos', # |
244
38294310f88b
Fixed issue in la_filter.pl of saving comments as separate elements in xml file
Maciej Seroka <maciejs@symbian.org>
parents:
240
diff
changeset
|
94 |
'bc_severity', 'sc_severity', 'status', 'comment', 'funcpos' ], keyattr => [] ); |
234
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
95 |
print "complete \n"; |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
96 |
|
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
97 |
# Get number of libraries. |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
98 |
my $lib_num = @{$current_report->{'bbcresults'}->{'issuelist'}->[0]->{'library'}}; |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
99 |
print "Number of all libraries with issues: $lib_num \n"; |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
100 |
|
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
101 |
# Delete known issues. |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
102 |
if ($del_ok_issues) { |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
103 |
$n = 0; |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
104 |
while ($n < $lib_num) { |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
105 |
$issues_num = @{$current_report->{'bbcresults'}->{'issuelist'}->[0]->{'library'}->[$n]->{'issue'}}; |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
106 |
$m = 0; |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
107 |
while ($m < $issues_num) { |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
108 |
if ($current_report->{'bbcresults'}->{'issuelist'}->[0]->{'library'}->[$n]->{'issue'}->[$m]->{'status'}->[0]) { # I.e. if any status set (OK / _OK_). |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
109 |
splice(@{$current_report->{'bbcresults'}->{'issuelist'}->[0]->{'library'}->[$n]->{'issue'}},$m, 1); |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
110 |
$issues_num--; |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
111 |
print "Known issue in: $current_report->{'bbcresults'}->{'issuelist'}->[0]->{'library'}->[$n]->{'shortname'}->[0] ...deleted\n"; |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
112 |
} else { |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
113 |
$m++; |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
114 |
} |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
115 |
} |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
116 |
if ($issues_num == 0) { # If all issues deleted - remove the whole entry. |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
117 |
splice(@{$current_report->{'bbcresults'}->{'issuelist'}->[0]->{'library'}},$n, 1); |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
118 |
$lib_num--; |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
119 |
} else { |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
120 |
$n++; |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
121 |
} |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
122 |
} |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
123 |
# Get number of libraries again. |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
124 |
$lib_num = @{$current_report->{'bbcresults'}->{'issuelist'}->[0]->{'library'}}; |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
125 |
print "Number of remaining libraries with issues: $lib_num \n"; |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
126 |
} |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
127 |
|
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
128 |
# Delete non-public API issues. |
305
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
129 |
if ($del_non_public) { |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
130 |
$n = 0; |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
131 |
$counter = 1; |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
132 |
$temp_counter = 0; |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
133 |
$temp_lib_num = $lib_num; |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
134 |
# Temporary variables - namespace fix. |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
135 |
my $count; |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
136 |
my $temp_issue; |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
137 |
while ($n < $lib_num) { |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
138 |
print "Processing library: $current_report->{'bbcresults'}->{'issuelist'}->[0]->{'library'}->[$n]->{'shortname'}->[0] ( $counter out of $temp_lib_num )\n"; |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
139 |
$issues_num = @{$current_report->{'bbcresults'}->{'issuelist'}->[0]->{'library'}->[$n]->{'issue'}}; |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
140 |
$m = 0; |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
141 |
while ($m < $issues_num) { |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
142 |
$delete_node = 1; |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
143 |
$issue_name = ""; |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
144 |
# Get issue name based on funcname or newfuncname (If both available get newfuncname). |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
145 |
if ($current_report->{'bbcresults'}->{'issuelist'}->[0]->{'library'}->[$n]->{'issue'}->[$m]->{'newfuncname'}->[0]) { |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
146 |
$issue_name = $current_report->{'bbcresults'}->{'issuelist'}->[0]->{'library'}->[$n]->{'issue'}->[$m]->{'newfuncname'}->[0]; |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
147 |
# print "newfuncname - $issue_name \n"; |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
148 |
} elsif ($current_report->{'bbcresults'}->{'issuelist'}->[0]->{'library'}->[$n]->{'issue'}->[$m]->{'funcname'}->[0]) { |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
149 |
$issue_name = $current_report->{'bbcresults'}->{'issuelist'}->[0]->{'library'}->[$n]->{'issue'}->[$m]->{'funcname'}->[0]; |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
150 |
# print "funcname - $issue_name \n"; |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
151 |
} |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
152 |
if ($issue_name) { |
234
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
153 |
# Leave only Class name - modified to fix namespace issue. |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
154 |
# $issue_name =~ s/::.*//; |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
155 |
# Find '(' and delete all characters following it. |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
156 |
$issue_name =~ s/\(.*//; |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
157 |
# Count the number of '::'. |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
158 |
$count = () = $issue_name =~ /::/g; |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
159 |
if ($count > 1) { # Means the following format: xx::yy::zz/ |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
160 |
# Get the 2nd part (yy). |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
161 |
($temp_issue, $issue_name) = split /:+/,$issue_name; |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
162 |
} else { # Means the following format: xx::yy |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
163 |
# For 'non-virtual thunk to ' (always refering to a method) - 1st part should be left in. |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
164 |
$issue_name =~ s/^non-virtual.* //; # Results in no more spaces left in the string. |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
165 |
# For vtable/typeinfo issues like: typeinfo for CommsFW::TCFDeregisterHookSignal get rid of the 1st part. |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
166 |
$issue_name =~ s/^.* .*:://; |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
167 |
# Leave only the 1st part (xx) for other issues. |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
168 |
$issue_name =~ s/::.*//; |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
169 |
} |
305
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
170 |
# Find '<' and delete all characters following it, e.g. TMeta<CommsDat |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
171 |
$issue_name =~ s/<.*//; |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
172 |
# Delete for example: 'typeinfo for ', 'vtable for ', etc. - will only be done for the likes of vtable for CTransportSelfSender (without '::'). |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
173 |
$issue_name =~ s/^.* //; |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
174 |
# print $issue_name . "\n"; |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
175 |
# Check if Class/Macro already on the internal non-public API list. |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
176 |
$check_against_xref = 1; |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
177 |
foreach $current_item (@non_public_list) { |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
178 |
if (lc($issue_name) eq lc($current_item)) { # Keep the node to be deleted and skip checking against the xref file. |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
179 |
$check_against_xref = 0; |
234
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
180 |
last; |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
181 |
} |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
182 |
} |
305
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
183 |
if ($check_against_xref) { |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
184 |
# Load xref file. |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
185 |
open FILE, "<$xref_file" or die("Failed to read $xref_file: $!\n"); |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
186 |
while ($line = <FILE>) |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
187 |
{ |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
188 |
chomp $line; |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
189 |
($xref_name, $xref_type, $xref_line, $xref_hdr, $xref_def) = split /\s+/,$line; |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
190 |
if (lc($issue_name) eq lc($xref_name)) { # Mark the node to NOT be deleted. |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
191 |
# Insert reference to header file. |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
192 |
$current_report->{'bbcresults'}->{'issuelist'}->[0]->{'library'}->[$n]->{'issue'}->[$m]->{'refheaderfile'}->[0] = $xref_hdr; |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
193 |
$delete_node = 0; |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
194 |
print "Found issue: $issue_name in public header file: $xref_hdr\n"; |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
195 |
last; |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
196 |
} |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
197 |
} |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
198 |
# Close xref file. |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
199 |
close FILE; |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
200 |
} |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
201 |
} else { # No newfuncname/funcname available (e.g. typeinfo only for missing DLLs or typeid only for not shown ones). |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
202 |
# print "Unclassified issue in $current_report->{'bbcresults'}->{'issuelist'}->[0]->{'library'}->[$n]->{'shortname'}->[0] \n"; |
234
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
203 |
} |
305
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
204 |
if ($delete_node) { # Delete the issue (Not public API-related). |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
205 |
splice(@{$current_report->{'bbcresults'}->{'issuelist'}->[0]->{'library'}->[$n]->{'issue'}},$m, 1); |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
206 |
$issues_num--; |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
207 |
if (($issue_name) && ($check_against_xref)) { # Looked for not found in the xref file - add the issue to the internal non-public API list. |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
208 |
push @non_public_list, $issue_name; |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
209 |
} |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
210 |
$temp_counter++; # To count how many issues deleted. |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
211 |
} else { |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
212 |
$m++; |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
213 |
} |
234
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
214 |
} |
305
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
215 |
if ($issues_num == 0) { # If all issues deleted - remove the whole entry. |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
216 |
splice(@{$current_report->{'bbcresults'}->{'issuelist'}->[0]->{'library'}},$n, 1); |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
217 |
$lib_num--; |
234
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
218 |
} else { |
305
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
219 |
$n++; |
234
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
220 |
} |
305
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
221 |
$counter++; |
234
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
222 |
} |
305
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
223 |
print "$temp_counter issue(s) has been deleted \n"; |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
224 |
# Get number of libraries again. |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
225 |
$lib_num = @{$current_report->{'bbcresults'}->{'issuelist'}->[0]->{'library'}}; |
247cb9582bd0
Updated scripts for filtering BC reports
Maciej Seroka <maciejs@symbian.org>
parents:
244
diff
changeset
|
226 |
print "Final number of libraries with public API-related issues: $lib_num \n"; |
234
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
227 |
} |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
228 |
|
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
229 |
# Write new XML to dest file. |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
230 |
open OUT,">$destfile" or die("Cannot open file \"$destfile\" for writing. $!\n"); |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
231 |
print OUT XMLout($current_report, keeproot => 1); |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
232 |
close OUT; |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
233 |
|
240
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
234 |
# Free up memory resources. |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
235 |
$current_report = (); |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
236 |
|
234
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
237 |
# Insert: <?xml version="1.0" encoding="ASCII" standalone="no" ?> |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
238 |
# <?xml-stylesheet type="text/xsl" href="BBCResults.xsl"?> |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
239 |
tie @lines, 'Tie::File', $destfile or die ("Cannot tie file \"$destfile\". $!\n"); |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
240 |
unshift @lines, "<?xml-stylesheet type=\"text/xsl\" href=\"BBCResults.xsl\"?>"; |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
241 |
unshift @lines, "<?xml version=\"1.0\" encoding=\"ASCII\" standalone=\"no\" ?>"; |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
242 |
untie @lines; |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
243 |
|
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
244 |
# Produce report for missing libraries. |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
245 |
if ($gen_missing_report) { |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
246 |
# Parse the input XMLs into hashrefs again. |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
247 |
print "Parsing " . $report . "... "; |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
248 |
my $current_report = XMLin("./$report", keeproot => 1, |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
249 |
forcearray => [ 'header', 'baselineversion', 'currentversion', 'timestamp', 'day', 'month', 'year', 'hour', 'minute', 'second', # |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
250 |
'laversion', 'formatversion', 'cmdlineparms', 'parm', 'pname', 'pvalue', 'knownissuesversion', 'os', 'version', 'buildweek', 'issuelist',# |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
251 |
'library', 'name', 'comparefilename', 'shortname', 'baseplatform', 'currentplatform', 'issue', 'typeinfo', 'typeid', 'funcname', 'newfuncname', 'newfuncpos', # |
244
38294310f88b
Fixed issue in la_filter.pl of saving comments as separate elements in xml file
Maciej Seroka <maciejs@symbian.org>
parents:
240
diff
changeset
|
252 |
'bc_severity', 'sc_severity', 'status', 'comment', 'funcpos' ], keyattr => [] ); |
234
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
253 |
print "complete \n"; |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
254 |
print "Generating report for missing libraries... "; |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
255 |
# Get number of libraries. |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
256 |
$lib_num = @{$current_report->{'bbcresults'}->{'issuelist'}->[0]->{'library'}}; |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
257 |
$n = 0; |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
258 |
while ($n < $lib_num) { |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
259 |
$issues_num = @{$current_report->{'bbcresults'}->{'issuelist'}->[0]->{'library'}->[$n]->{'issue'}}; |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
260 |
$m = 0; |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
261 |
$delete_node = 1; |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
262 |
while ($m < $issues_num) { |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
263 |
if (($current_report->{'bbcresults'}->{'issuelist'}->[0]->{'library'}->[$n]->{'issue'}->[$m]->{'typeid'}->[0] eq "13") && # |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
264 |
($current_report->{'bbcresults'}->{'issuelist'}->[0]->{'library'}->[$n]->{'issue'}->[$m]->{'status'}->[0] ne "OK")) { |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
265 |
# If typeid=13 (DLL is missing in current SDK) and unknown issue - keep the node. |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
266 |
$delete_node = 0; |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
267 |
last; |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
268 |
} |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
269 |
$m++; |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
270 |
} |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
271 |
if ($delete_node) { # Remove the whole node (i.e. library). |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
272 |
splice(@{$current_report->{'bbcresults'}->{'issuelist'}->[0]->{'library'}},$n, 1); |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
273 |
$lib_num--; |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
274 |
} else { |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
275 |
$n++; |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
276 |
} |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
277 |
} |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
278 |
print "complete\n"; |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
279 |
# Get number of libraries again. |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
280 |
$lib_num = @{$current_report->{'bbcresults'}->{'issuelist'}->[0]->{'library'}}; |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
281 |
print "Number of missing libraries: $lib_num \n"; |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
282 |
|
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
283 |
# Write new XML to dest file. |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
284 |
open OUT,">$missing_destfile" or die("Cannot open file \"$missing_destfile\" for writing. $!\n"); |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
285 |
print OUT XMLout($current_report, keeproot => 1); |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
286 |
close OUT; |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
287 |
|
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
288 |
# Insert: <?xml version="1.0" encoding="ASCII" standalone="no" ?> |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
289 |
# <?xml-stylesheet type="text/xsl" href="BBCResults.xsl"?> |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
290 |
tie @lines, 'Tie::File', $missing_destfile or die ("Cannot tie file \"$missing_destfile\". $!\n"); |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
291 |
unshift @lines, "<?xml-stylesheet type=\"text/xsl\" href=\"BBCResults.xsl\"?>"; |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
292 |
unshift @lines, "<?xml version=\"1.0\" encoding=\"ASCII\" standalone=\"no\" ?>"; |
74890d706f0c
Added tools for filtering bc reports and updating known issues file
maciejs
parents:
diff
changeset
|
293 |
untie @lines; |
240
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
294 |
} |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
295 |
|
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
296 |
if (($sub_reports) && ($gen_missing_report)) { # Generate sub-reports per package. |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
297 |
# Parse the input XMLs into hashrefs again. |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
298 |
print "Parsing " . $missing_destfile . "... "; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
299 |
my $current_report = XMLin("./$missing_destfile", keeproot => 1, |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
300 |
forcearray => [ 'header', 'baselineversion', 'currentversion', 'timestamp', 'day', 'month', 'year', 'hour', 'minute', 'second', # |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
301 |
'laversion', 'formatversion', 'cmdlineparms', 'parm', 'pname', 'pvalue', 'knownissuesversion', 'os', 'version', 'buildweek', 'issuelist',# |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
302 |
'library', 'name', 'comparefilename', 'shortname', 'baseplatform', 'currentplatform', 'issue', 'typeinfo', 'typeid', 'funcname', 'newfuncname', 'newfuncpos', # |
244
38294310f88b
Fixed issue in la_filter.pl of saving comments as separate elements in xml file
Maciej Seroka <maciejs@symbian.org>
parents:
240
diff
changeset
|
303 |
'bc_severity', 'sc_severity', 'status', 'comment', 'funcpos' ], keyattr => [] ); |
240
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
304 |
print "complete \n"; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
305 |
$lib_num = @{$current_report->{'bbcresults'}->{'issuelist'}->[0]->{'library'}}; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
306 |
if (!defined($baselinedlldir)) { # Define baselinedlldir. |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
307 |
$n = 0; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
308 |
foreach (@{$current_report->{'bbcresults'}->{'header'}->[0]->{'cmdlineparms'}->[0]->{'parm'}}) { # Find baselinedlldir. |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
309 |
if ($current_report->{'bbcresults'}->{'header'}->[0]->{'cmdlineparms'}->[0]->{'parm'}->[$n]->{'pname'}->[0] eq "baselinedlldir") { |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
310 |
$baselinedlldir = $current_report->{'bbcresults'}->{'header'}->[0]->{'cmdlineparms'}->[0]->{'parm'}->[$n]->{'pvalue'}->[0]; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
311 |
last; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
312 |
} |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
313 |
$n++; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
314 |
} |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
315 |
} |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
316 |
print "baselinedlldir: $baselinedlldir\n"; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
317 |
# Create the list of packages that link to missing libraries and generate sub-report for no-map file libraries. |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
318 |
$nomap = 0; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
319 |
$n = 0; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
320 |
while ($n < $lib_num) { |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
321 |
$lib_name = $current_report->{'bbcresults'}->{'issuelist'}->[0]->{'library'}->[$n]->{'shortname'}->[0]; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
322 |
$map_name = $baselinedlldir . "\\" . $lib_name . ".map"; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
323 |
$map_found = 1; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
324 |
# Find and open corresponding map file (.map or .dll.map). |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
325 |
open (FILE, "<$map_name") or $map_name = $baselinedlldir . "\\" . $lib_name . ".dll.map" and open (FILE, "<$map_name") or print "No map file found for $lib_name\n" and $map_found = 0; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
326 |
if ($map_found) { |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
327 |
# print "Found: $map_name for $lib_name\n"; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
328 |
$pkg_found = 0; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
329 |
while ($line = <FILE>) |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
330 |
{ |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
331 |
chomp $line; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
332 |
# Get rid of spaces at the beginning. |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
333 |
$line =~ s/^\s+//; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
334 |
if ($line =~ m/\\sf\\/) { |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
335 |
$pkg_found = 1; # Package potentially found. |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
336 |
# Check against lines_to_ignore. |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
337 |
foreach $current_item (@lines_to_ignore) { |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
338 |
if ($line =~ m/($current_item)/) { # Skip the line. |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
339 |
$pkg_found = 0; # Change it back to not found. |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
340 |
last; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
341 |
} |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
342 |
} |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
343 |
} |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
344 |
if ($pkg_found) { |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
345 |
# Get rid of \sf\ and the part it follows. |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
346 |
$line =~ s/^.*\\sf\\//; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
347 |
# Get only the package name (in between \ and \). |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
348 |
($layer_name, $package_name) = split /\\/,$line; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
349 |
print "Package: $package_name found for: $lib_name (based on $map_name)\n"; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
350 |
$pkgs_num = @pkgs; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
351 |
if ($pkgs_num == 0) { # Add the first package name by default. |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
352 |
push @pkgs, $package_name; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
353 |
} else { |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
354 |
$add_pkg = 1; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
355 |
$m = 0; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
356 |
while ($m < $pkgs_num) { |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
357 |
if ($package_name eq @pkgs[$m]) { # Do not add a new package name. |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
358 |
$add_pkg = 0; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
359 |
} |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
360 |
$m++; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
361 |
} |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
362 |
if ($add_pkg) { # Add the new package name. |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
363 |
push @pkgs, $package_name; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
364 |
} |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
365 |
} |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
366 |
last; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
367 |
} |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
368 |
} |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
369 |
close FILE; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
370 |
# Delete the node (to generate sub-report for libraries with no map file. |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
371 |
splice(@{$current_report->{'bbcresults'}->{'issuelist'}->[0]->{'library'}},$n, 1); |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
372 |
$lib_num--; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
373 |
} else { |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
374 |
$nomap++; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
375 |
$n++; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
376 |
} |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
377 |
} |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
378 |
print "Number of libraries with no map file (most likely not a part of Public API): " . $nomap . "\n"; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
379 |
if ($nomap > 0) { # Save sub-report for no-map file libraries. |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
380 |
# Write new XML to dest file. |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
381 |
$pkg_destfile = "missing_with_no_map_file_" . $report; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
382 |
open OUT,">$pkg_destfile" or die("Cannot open file \"$pkg_destfile\" for writing. $!\n"); |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
383 |
print OUT XMLout($current_report, keeproot => 1); |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
384 |
close OUT; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
385 |
# Insert: <?xml version="1.0" encoding="ASCII" standalone="no" ?> |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
386 |
# <?xml-stylesheet type="text/xsl" href="BBCResults.xsl"?> |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
387 |
tie @lines, 'Tie::File', $pkg_destfile or die ("Cannot tie file \"$pkg_destfile\". $!\n"); |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
388 |
unshift @lines, "<?xml-stylesheet type=\"text/xsl\" href=\"BBCResults.xsl\"?>"; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
389 |
unshift @lines, "<?xml version=\"1.0\" encoding=\"ASCII\" standalone=\"no\" ?>"; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
390 |
untie @lines; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
391 |
} |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
392 |
print "Number of packages: " . @pkgs . "\n"; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
393 |
# Generate sub reports for all packages. |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
394 |
foreach $current_item (@pkgs) { |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
395 |
# Parse the input XMLs into hashrefs again. |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
396 |
print "Parsing " . $missing_destfile . "... "; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
397 |
my $current_report = XMLin("./$missing_destfile", keeproot => 1, |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
398 |
forcearray => [ 'header', 'baselineversion', 'currentversion', 'timestamp', 'day', 'month', 'year', 'hour', 'minute', 'second', # |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
399 |
'laversion', 'formatversion', 'cmdlineparms', 'parm', 'pname', 'pvalue', 'knownissuesversion', 'os', 'version', 'buildweek', 'issuelist',# |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
400 |
'library', 'name', 'comparefilename', 'shortname', 'baseplatform', 'currentplatform', 'issue', 'typeinfo', 'typeid', 'funcname', 'newfuncname', 'newfuncpos', # |
244
38294310f88b
Fixed issue in la_filter.pl of saving comments as separate elements in xml file
Maciej Seroka <maciejs@symbian.org>
parents:
240
diff
changeset
|
401 |
'bc_severity', 'sc_severity', 'status', 'comment', 'funcpos' ], keyattr => [] ); |
240
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
402 |
print "complete \n"; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
403 |
$lib_num = @{$current_report->{'bbcresults'}->{'issuelist'}->[0]->{'library'}}; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
404 |
$n = 0; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
405 |
print "Processing libraries for $current_item... "; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
406 |
while ($n < $lib_num) { |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
407 |
$lib_name = $current_report->{'bbcresults'}->{'issuelist'}->[0]->{'library'}->[$n]->{'shortname'}->[0]; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
408 |
$map_name = $baselinedlldir . "\\" . $lib_name . ".map"; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
409 |
$map_found = 1; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
410 |
# Find and open corresponding map file (.map or .dll.map). |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
411 |
open (FILE, "<$map_name") or $map_name = $baselinedlldir . "\\" . $lib_name . ".dll.map" and open (FILE, "<$map_name") or $map_found = 0; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
412 |
if ($map_found) { |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
413 |
$pkg_found = 0; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
414 |
while ($line = <FILE>) |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
415 |
{ |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
416 |
chomp $line; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
417 |
# Get rid of spaces at the beginning. |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
418 |
$line =~ s/^\s+//; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
419 |
if ($line =~ m/\\sf\\/) { |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
420 |
$pkg_found = 1; # Package potentially found. |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
421 |
# Check against lines_to_ignore. |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
422 |
foreach $current_item (@lines_to_ignore) { |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
423 |
if ($line =~ m/($current_item)/) { # Skip the line. |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
424 |
$pkg_found = 0; # Change it back to not found. |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
425 |
last; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
426 |
} |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
427 |
} |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
428 |
} |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
429 |
if ($pkg_found) { |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
430 |
# Get rid of \sf\ and the part it follows. |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
431 |
$line =~ s/^.*\\sf\\//; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
432 |
# Get only the package name (in between \ and \). |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
433 |
($layer_name, $package_name) = split /\\/,$line; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
434 |
last; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
435 |
} |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
436 |
} |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
437 |
close FILE; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
438 |
if ($package_name ne $current_item) { # Remove the node from the report for the current package. |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
439 |
splice(@{$current_report->{'bbcresults'}->{'issuelist'}->[0]->{'library'}},$n, 1); |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
440 |
$lib_num--; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
441 |
} else { |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
442 |
$n++; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
443 |
} |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
444 |
} else { # Delete the node (library with no-map file). |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
445 |
splice(@{$current_report->{'bbcresults'}->{'issuelist'}->[0]->{'library'}},$n, 1); |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
446 |
$lib_num--; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
447 |
} |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
448 |
} |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
449 |
# Write new XML to dest file. |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
450 |
$pkg_destfile = $current_item . "_" . $missing_destfile; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
451 |
open OUT,">$pkg_destfile" or die("Cannot open file \"$pkg_destfile\" for writing. $!\n"); |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
452 |
print OUT XMLout($current_report, keeproot => 1); |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
453 |
close OUT; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
454 |
# Insert: <?xml version="1.0" encoding="ASCII" standalone="no" ?> |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
455 |
# <?xml-stylesheet type="text/xsl" href="BBCResults.xsl"?> |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
456 |
tie @lines, 'Tie::File', $pkg_destfile or die ("Cannot tie file \"$pkg_destfile\". $!\n"); |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
457 |
unshift @lines, "<?xml-stylesheet type=\"text/xsl\" href=\"BBCResults.xsl\"?>"; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
458 |
unshift @lines, "<?xml version=\"1.0\" encoding=\"ASCII\" standalone=\"no\" ?>"; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
459 |
untie @lines; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
460 |
print "complete \n"; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
461 |
$lib_num = @{$current_report->{'bbcresults'}->{'issuelist'}->[0]->{'library'}}; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
462 |
print "Number of missing libraries in $current_item package: $lib_num\n"; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
463 |
} |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
464 |
} |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
465 |
|
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
466 |
exit 0; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
467 |
|
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
468 |
sub usage($) |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
469 |
{ |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
470 |
my $error = shift; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
471 |
my $fh = $error == 0 ? *STDOUT : *STDERR; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
472 |
print $fh "la_filter.pl\n" . |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
473 |
"Specify the libraries report and xref file\n" . |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
474 |
"synopsis:\n" . |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
475 |
" la_filter.pl --help\n" . |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
476 |
" la_filter.pl [--libraries-report=XML_FILE] [--xref-file=TXT_FILE] [--baseline-dll-dir=PATH] \n" . |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
477 |
"options:\n" . |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
478 |
" --help Display this help and exit.\n" . |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
479 |
" --libraries-report=XML_FILE XML_FILE is the name of the libraries report xml file.\n" . |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
480 |
" --xref-file=TXT_FILE TXT_FILE is the file containing the index of source code definitions generated by Ctags.\n" . |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
481 |
" --baseline-dll-dir=PATH PATH is the full path to the directory containing map files (e.g. \\epoc32\\release\\armv5\\urel).\n" . |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
482 |
" If not specified then the baselinedlldir param from the libraries report will be used.\n"; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
483 |
exit $error; |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
484 |
} |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
485 |
|
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
486 |
sub help() |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
487 |
{ |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
488 |
usage(0); |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
489 |
} |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
490 |
|
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
491 |
sub usage_error() |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
492 |
{ |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
493 |
usage(1); |
e662a2267ea5
Implemented feature to generate sub-reports for missing libraries in la_filter.pl
Maciej Seroka <maciejs@symbian.org>
parents:
234
diff
changeset
|
494 |
} |