common/tools/analysis/scan_antlogs.pl
author Simon Howkins <simonh@symbian.org>
Wed, 02 Sep 2009 11:43:32 +0100
changeset 388 2ab990de5a23
parent 164 9a13f5f790ee
permissions -rw-r--r--
Bug 299 populateziptemplate.pl aborts if it cannot determine the license for a source component Source that cannot be sorted correctly into any other category is treated as "misc"
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
97
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
     1
#!/usr/bin/perl
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
     2
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
     3
# Copyright (c) 2009 Symbian Foundation Ltd
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
     4
# This component and the accompanying materials are made available
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
     5
# under the terms of the License "Eclipse Public License v1.0"
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
     6
# which accompanies this distribution, and is available
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
     7
# at the URL "http://www.eclipse.org/legal/epl-v10.html".
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
     8
#
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
     9
# Initial Contributors:
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    10
# Symbian Foundation Ltd - initial contribution.
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    11
# 
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    12
# Contributors:
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    13
#
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    14
# Description:
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    15
# Parse "ant" logs from SBS build to determine missing source files
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    16
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    17
my $pdk_src = "../.."; # path to sf tree - correct from "build/output"
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    18
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    19
my %missing_files;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    20
my %damaged_components;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    21
my %excluded_things;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    22
my %damaged_bldinfs;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    23
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    24
sub canonical_path($)
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    25
  {
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    26
  my ($path) = @_;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    27
  my @bits = split /\//, $path;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    28
  my @newbits = ();
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    29
  
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    30
  foreach my $bit (@bits)
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    31
    {
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    32
    next if ($bit eq ".");
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    33
    if ($bit eq "..")
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    34
      {
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    35
      pop @newbits;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    36
      next;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    37
      }
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    38
      push @newbits, $bit;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    39
    }
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    40
  return join("/", @newbits);
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    41
  }
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    42
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    43
sub excluded_thing($$$)
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    44
  {
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    45
  my ($path, $missing, $reason) = @_;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    46
  if (!defined $excluded_things{$path})
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    47
    {
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    48
    @{$excluded_things{$path}} = ();
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    49
    }
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    50
  push @{$excluded_things{$path}}, $missing;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    51
  # print "Missing $missing from excluded $path ($reason)\n";
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    52
  }
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    53
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    54
sub do_missing_file($$$)
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    55
  {
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    56
  my ($missing, $missing_from, $reason) = @_;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    57
  
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    58
  $missing = canonical_path($missing);
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    59
  $missing_from = canonical_path($missing_from);
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    60
  
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    61
  my $component = "??";
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    62
  if ($missing_from ne "??")
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    63
    {
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    64
    my @dirs = split /\//, $missing_from;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    65
    shift @dirs if ($dirs[0] eq "sf");
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    66
    
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    67
    $path = $pdk_src . "/sf/$dirs[0]/$dirs[1]";
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    68
    if (!-e $path)
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    69
      {
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    70
      # no sign of the package
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    71
      excluded_thing($path, $missing, $reason);
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    72
      return;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    73
      }
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    74
    $path .= "/$dirs[2]";
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    75
    if (!-e $path)
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    76
      {
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    77
      # no sign of the collection
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    78
      excluded_thing($path, $missing, $reason);
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    79
      return;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    80
      }
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    81
    $path .= "/$dirs[3]";
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    82
    if (!-e $path)
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    83
      {
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    84
      # no sign of the component
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    85
      excluded_thing($path, $missing, $reason);
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    86
      return;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    87
      }
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    88
    $component = join("/", $dirs[0], $dirs[1], $dirs[2], $dirs[3]);
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    89
    }
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    90
  
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    91
  $missing_files{$missing} = $reason if ($missing ne "??");
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    92
  
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    93
  if (!defined $damaged_components{$component})
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    94
    {
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    95
    @{$damaged_components{$component}} = ();
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    96
    }
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    97
  push @{$damaged_components{$component}}, $missing;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    98
  }
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    99
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   100
sub scan_logfile($)
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   101
{
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   102
  my ($logfile) = @_;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   103
  
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   104
  open FILE, "<$logfile" or print "Error: cannot open $logfile: $!\n" and return;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   105
  
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   106
  my $line;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   107
  while ($line = <FILE>)
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   108
    {
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   109
    # Source of export does not exist:  s:/sf/mw/messagingmw/messagingfw/msgtests/group/msgerr.ra
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   110
    # Source zip for export does not exist: s:/sf/os/deviceplatformrelease/S60LocFiles/data/96.zip
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   111
    if ($line =~ /^Source (of|zip for) export does not exist.\s+.*\/(sf\/.*)$/)
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   112
      {
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   113
      do_missing_file($2, "??", "source of export");
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   114
      next;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   115
      }
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   116
    # No bld.inf found at sf/os/buildtools/toolsandutils/burtestserver/Group in s:/output/build/canonical_system_definition_GT_tb91sf.xml
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   117
    # No bld.inf found at s:/sf/adaptation/stubs/licensee_tsy_stub/group in s:/output/build/canonical_system_definition_S60_5_1_clean.xml
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   118
    if ($line =~ /No bld.inf found at (.*\/)?(sf\/.*) in /i)
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   119
      {
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   120
      my $bldinf = "$2/bld.inf";
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   121
  
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   122
      do_missing_file($bldinf, $bldinf, "no bld.inf");
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   123
      $damaged_bldinfs{"$bldinf\t(missing)"} = 1;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   124
      next;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   125
      }
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   126
    # D:/Symbian/Tools/PDT_1.0/raptor/win32/mingw/bin/cpp.exe: s:/sf/os/networkingsrv/networksecurity/ipsec/group/bld.inf:19:42: ../eventmediator/group/bld.inf: No such file or directory
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   127
    if ($line =~ /cpp.exe: .*\/(sf\/[^:]*):.*\s+([^:]+): No such file/)
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   128
      {
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   129
      my $parent = $1;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   130
      my $relative = $2;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   131
  
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   132
      if ($parent =~ /\.inf$/i)
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   133
        {
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   134
        my $parent = canonical_path($parent);
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   135
        $damaged_bldinfs{"$parent\t$relative"} = 1;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   136
        }
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   137
      do_missing_file("$parent/../$relative", $parent, "#include");
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   138
      next;  
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   139
      }
164
9a13f5f790ee Remove the "abld import" stuff, add "No rule to make" and "Can't find mmp file" processing
William Roberts <williamr@symbian.org>
parents: 97
diff changeset
   140
    # make.exe: *** No rule to make target `m:/sf/os/security/crypto/weakcrypto/source/symmetric/des.cpp', needed by `m:/epoc32/build/weakcrypto/c_126994d895f12d1a/weak_cryptography_dll/winscw/udeb/des.o'.
9a13f5f790ee Remove the "abld import" stuff, add "No rule to make" and "Can't find mmp file" processing
William Roberts <williamr@symbian.org>
parents: 97
diff changeset
   141
    if ($line =~ /No rule to make target .*(sf\/.*)', needed by .*(epoc32\/.*)'/)
9a13f5f790ee Remove the "abld import" stuff, add "No rule to make" and "Can't find mmp file" processing
William Roberts <williamr@symbian.org>
parents: 97
diff changeset
   142
      {
9a13f5f790ee Remove the "abld import" stuff, add "No rule to make" and "Can't find mmp file" processing
William Roberts <williamr@symbian.org>
parents: 97
diff changeset
   143
      my $missing = $1;
9a13f5f790ee Remove the "abld import" stuff, add "No rule to make" and "Can't find mmp file" processing
William Roberts <williamr@symbian.org>
parents: 97
diff changeset
   144
      my $impact = "building $2";
9a13f5f790ee Remove the "abld import" stuff, add "No rule to make" and "Can't find mmp file" processing
William Roberts <williamr@symbian.org>
parents: 97
diff changeset
   145
      # epoc32/build/weakcrypto/c_126994d895f12d1a/weak_cryptography_dll
9a13f5f790ee Remove the "abld import" stuff, add "No rule to make" and "Can't find mmp file" processing
William Roberts <williamr@symbian.org>
parents: 97
diff changeset
   146
      if ($impact =~ /epoc32\/build\/[^\/]+\/[^\/]+\/([^\/]+)\//)
9a13f5f790ee Remove the "abld import" stuff, add "No rule to make" and "Can't find mmp file" processing
William Roberts <williamr@symbian.org>
parents: 97
diff changeset
   147
        {
9a13f5f790ee Remove the "abld import" stuff, add "No rule to make" and "Can't find mmp file" processing
William Roberts <williamr@symbian.org>
parents: 97
diff changeset
   148
        $impact = "building $1";
9a13f5f790ee Remove the "abld import" stuff, add "No rule to make" and "Can't find mmp file" processing
William Roberts <williamr@symbian.org>
parents: 97
diff changeset
   149
        }
9a13f5f790ee Remove the "abld import" stuff, add "No rule to make" and "Can't find mmp file" processing
William Roberts <williamr@symbian.org>
parents: 97
diff changeset
   150
      do_missing_file($missing, "??", $impact);
9a13f5f790ee Remove the "abld import" stuff, add "No rule to make" and "Can't find mmp file" processing
William Roberts <williamr@symbian.org>
parents: 97
diff changeset
   151
      next;
9a13f5f790ee Remove the "abld import" stuff, add "No rule to make" and "Can't find mmp file" processing
William Roberts <williamr@symbian.org>
parents: 97
diff changeset
   152
      }
97
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   153
    }
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   154
    close FILE;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   155
  }
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   156
  
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   157
  my @logfiles = map(glob,@ARGV);
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   158
  foreach my $logfile (@logfiles)
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   159
    {
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   160
    print "Scanning $logfile...\n";
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   161
    scan_logfile($logfile);
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   162
    }
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   163
  
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   164
  printf "%d Excluded things\n", scalar keys %excluded_things;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   165
  foreach my $component (sort keys %excluded_things)
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   166
    {
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   167
    my @list = @{$excluded_things{$component}};
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   168
    my %hash;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   169
    foreach my $missing (@list)
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   170
      {
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   171
      $hash{$missing} = 1;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   172
      }
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   173
    printf "%s\t%d\n", $component, scalar keys %hash;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   174
    print "\t", join("\n\t", sort keys %hash), "\n";
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   175
    }
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   176
  print "\nDamaged components\n";
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   177
  foreach my $component (sort keys %damaged_components)
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   178
    {
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   179
    my @list = @{$damaged_components{$component}};
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   180
    my %hash;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   181
    foreach my $missing (@list)
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   182
      {
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   183
      $hash{$missing} = 1;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   184
      }
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   185
    printf "%s\t%d\n", $component, scalar keys %hash;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   186
    print "\t", join("\n\t", sort keys %hash), "\n";
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   187
    }
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   188
  print "\nMissing files\n";
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   189
  foreach my $missing (sort keys %missing_files)
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   190
    {
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   191
    my $reason = $missing_files{$missing};
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   192
    my @dirs = split /\//, $missing;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   193
    my $path = shift @dirs;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   194
    my $dir;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   195
    
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   196
    while ($dir = shift @dirs)
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   197
      {
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   198
      if (-e "$pdk_src/$path/$dir")
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   199
        {
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   200
        # still exists at this point
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   201
        $path .= "/$dir";
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   202
        next;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   203
        }
164
9a13f5f790ee Remove the "abld import" stuff, add "No rule to make" and "Can't find mmp file" processing
William Roberts <williamr@symbian.org>
parents: 97
diff changeset
   204
      print "\t$reason\t$path\t\t", join("/", $dir,@dirs), "\n";
97
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   205
      last;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   206
      }    
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   207
    }
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   208
  
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   209
  print "\nDamaged bld.infs\n";
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   210
  print join("\n", sort keys %damaged_bldinfs, "");
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   211
  
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   212
  print "\n\n";
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   213
  printf "%d files missing from ", scalar keys %missing_files;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   214
  printf "%d damaged components\n", scalar keys %damaged_components;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   215