diff -r 02d78c9f018e -r 3f65fd25dfd4 deprecated/buildtools/commonbldutils/sbsv2htmlscanlog/sbsv2scanlog.pm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/deprecated/buildtools/commonbldutils/sbsv2htmlscanlog/sbsv2scanlog.pm Mon Oct 18 16:16:46 2010 +0800 @@ -0,0 +1,320 @@ +#!perl -w +# Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies). +# All rights reserved. +# This component and the accompanying materials are made available +# under the terms of "Eclipse Public License v1.0" +# which accompanies this distribution, and is available +# at the URL "http://www.eclipse.org/legal/epl-v10.html". +# +# Initial Contributors: +# Nokia Corporation - initial contribution. +# +# Contributors: +# +# Description: +# summarise an automated build log +# documentation available in generic\tools\e32toolp\docs\scanlog.txt +# please update the documentation when modifying this file +# +# + +package sbsv2scanlog; + +use strict; +use Carp; +use FindBin; # for FindBin::Bin + +use lib "$FindBin::Bin/../../tools/build/scanlog"; # For running in source +use lib "$FindBin::Bin"; # For running in \tools + +use Scanlog; + +# CheckForErrors +# +# Inputs +# $line - Line of text to check +# +# Outputs +# Return true for presence of error in the line +# Return false for no error found +# +# Description +# This function matches the input against a known set of Error Strings +sub CheckForErrors +{ + my ($line) = @_; + + + # Check Original scanlog rules + return &Scanlog::CheckForErrors($line); + + # Not already returned so return false + return 0; +} + +# CheckForRemarks +# +# Inputs +# $iLine - Line of text to check +# +# Outputs +# Return true for presence of Warning in the line according to the warning codes +# defined in the checkList array +# The list is the current known EABI warnings which are considered to be +# Remarks +# Return false for no Warning found +# +# Description +# This function matches the input against a known set of Warning Strings defined +# in the array CheckList +sub CheckForRemarks +{ + my ($line) = @_; + + #/sf/app/messaging/email/pop3andsmtpmtm/clientmtms/group/imcm.rls:36:54: warning: no newline at end of file + if ($line =~ /:\d+:\d+: warning: no newline at end of file/) + { + return 1; + } + + # Check Original scanlog rules + return &Scanlog::CheckForRemarks($line); + + + # Not already returned so return false + return 0; + +} + +# CheckForWarnings +# +# Inputs +# $iLine - Line of text to check +# +# Outputs +# Return true for presence of Warning in the line +# Return false for no Warning found +# +# Description +# This function matches the input against a known set of Warning Strings +sub CheckForWarnings +{ + my ($line) = @_; + + # Check Original scanlog rules + return &Scanlog::CheckForWarnings($line); + + # Not already returned so return false + return 0; +} + +# CheckForIgnore +# +# Inputs +# $iLine - Line of text to check +# +# Outputs +# Return true if line can be ignored +# Return false if line cannot be ignored +# +# Description +# This function matches the input against a known set of Warning Strings which can be ignored +sub CheckForIgnore +{ + my ($line) = @_; + + # Check Original scanlog rules + return &Scanlog::CheckForIgnore($line); + + # Not already returned so return false + return 0; +} + + + + +# CheckForNotBuilt +# +# Inputs +# $iLine - Line of text to check +# +# Outputs +# Return true for presence of Warning in the line +# Return false for no Warning found +# $iNotBuilt - Name of thing not built +# +# Description +# This function matches the input against a known set of Strings for things not built +sub CheckForNotBuilt +{ + my ($line) = @_; + + # Check Original scanlog rules + return &Scanlog::CheckForNotBuilt($line); + + # Not already returned so return false + return 0; +} + +# CheckForMissing +# +# Inputs +# $iLine - Line of text to check +# +# Outputs +# Return true for presence of Warning in the line +# Return false for no Warning found +# $iNotBuilt - Name of thing not built +# +# Description +# This function matches the input against a known set of Strings for things not built +sub CheckForMissing +{ + my ($line) = @_; + + # Check Original scanlog rules + return &Scanlog::CheckForMissing($line); + + # Not already returned so return false + return 0; +} + +# CheckForRealTimeErrors +# +# Inputs +# $iLine - Line of text to check +# +# Outputs +# Return true for presence of a Real Time Error in the line +# plus string detailing error (if available) +# Return false for no Real Time Error found +# +# Description +# This function matches the input against a known set of Error Strings +# At the time of adding this subroutine, such error strings were only reported by P4GetSource.pm +# Scripts calling this subroutine should note that, for example, lines beginning with "ERROR:" will +# also be considered to be errors by subroutine CheckForErrors, above. +sub CheckForRealTimeErrors +{ + my ($line) = @_; + + # Check Original scanlog rules + return &Scanlog::CheckForRealTimeErrors($line); + + # Not already returned so return False + return 0; +} + + + +# CheckForMigrationNotes +# +# Inputs +# $iLine - Line of text to check +# +# Outputs +# Return true for presence of Migration_Note in the line +# Return false for no Migration_Note found +# +# Description +# This function matches the input against a known set of Migration_Note Strings +sub CheckForMigrationNotes +{ + my ($line,$component) = @_; + + if ($component =~ /STLPORT/i) + { + # ../../src/iostream.cpp:164: warning: 'result' might be used uninitialized in this function + if ($line =~ /:\d+: warning:.*?might be used uninitialized in this function/) + { + return 1; + } + } + + #cpp: file.h:48:8: warning: extra tokens at end of #endif directive + if ($line =~ /:\d+:\d+: warning: extra tokens at end of #endif directive/) + { + return 1; + } + + #raptor/lib/flm/export.flm:56: warning: overriding commands for target `S:/epoc32/rom/include/midp20_installer.iby' + if ($line =~ /:\d+: warning: overriding commands for target/) + { + return 1; + } + + #raptor/lib/flm/export.flm:56: warning: ignoring old commands for target `S:/epoc32/rom/include/midp20_installer.iby' + if ($line =~ /:\d+: warning: ignoring old commands for target/) + { + return 1; + } + + #\sf\app\techview\techviewplat\techviewuiklaf\resource\eikcoctl.rls(38) : Warning: (003) rls item redefined. + if ($line =~ /\(\d+\)\s+: Warning: (003) rls item redefined/) + { + return 1; + } + + # Check Original scanlog rules + return &Scanlog::CheckForMigrationNotes($line); + + # Not already returned so return False + return 0; +} + +# CheckForComponentExitCodesToMigrate +# +# Inputs +# $iLine - Line of text to check +# $component - Current Component +# +# Outputs +# Return true for to ignore this special component error +# Return false for to not ignore this special component error +# +# Description +# This function matches the input against a known set of Components and Strings to ignore the later non zero exit code of. +sub CheckForComponentExitCodesToMigrate +{ + my ($line,$component) = @_; + + if ($component =~ /Integrator ARM1136 Core Module/ || $component =~ /OMAP H2 BSP|omaph2bsp/ ) + { + # M://epoc32/tools/makefile_templates/base/bootstrap.mk:213: *** missing `endef', unterminated `define'. Stop. + # if ($line =~ /\/epoc32\/tools\/makefile_templates\/base\/bootstrap\.mk:\d+: \*\*\* missing `endef', unterminated `define'\. Stop\./) + if ($line =~ /\/epoc32\/tools\/makefile_templates\/base\/bootstrap\.mk:\d+: \*\*\* multiple target patterns\. Stop\./) + { + return 1; + } + #/bin/sh: make: command not found + if ($line =~ /\/bin\/sh: make: command not found/) + { + return 1; + } + } else { + return 0; + } +} + +# CheckForAdvisoryNotes +# +# Inputs +# $iLine - Line of text to check +# +# Outputs +# Return true if line can be ignored +# Return false if line cannot be ignored +# +# Description +# This function matches the input against a known set of Strings +sub CheckForAdvisoryNotes +{ + my ($line) = @_; + + # Check Original scanlog rules + return &Scanlog::CheckForAdvisoryNotes($line); + + # Not already returned so return false + return 0; +} +1;