williamr/sbs_quickstatus.pl
author Shabe Razvi <shaber@symbian.org>
Wed, 03 Feb 2010 16:24:44 +0000
changeset 145 44e403e0f4cd
parent 6 705136d2022f
permissions -rw-r--r--
Merge

#! perl

# Copyright (c) 2009 Symbian Foundation Ltd
# This component and the accompanying materials are made available
# under the terms of the License "Eclipse Public License v1.0"
# which accompanies this distribution, and is available
# at the URL "http://www.eclipse.org/legal/epl-v10.html".
#
# Initial Contributors:
# Symbian Foundation Ltd - initial contribution.
# 
# Contributors:
#
# Description:
# Filter an SBSv2 log to keep only status lines, with added target and recipe names

use strict;

my $line;
my $current_target = "";
my $recipe_name = "";

@ARGV = map {glob} @ARGV;

while ($line =<>)
  {
  my $prefix = substr($line,0,8);
  if ($prefix eq "<recipe ")
    {
    $current_target = "";
    if ($line =~ /(name='[^']+').*(target='[^']+')/)
      {
      $recipe_name = $1;
      $current_target = $2;
      }
    next;
    }
  if ($prefix eq "+ EXTMAK")
    {
    if ($line =~ / (EXTMAKEFILENAME=.*)$/)
      {
      $current_target = "comment='$1'";  # target for EXTMAKEFILE is not interesting
      }
    next;
    }
  if ($prefix eq "+ TEMPLA") 
    {
    if ($line =~ / (TEMPLATE_EXTENSION_MAKEFILE=.*)$/)
      {
      $current_target = "comment='$1'";  # target for templated extensions is not interesting
      }
    next;
    }
  if ($prefix eq "<status ")
    {
    substr($line,-3) = "$recipe_name $current_target />\n";
    print $line;
    next;
    }
  }