deprecated/buildtools/commonbldutils/sbsv2htmlscanlog/sbsv2scanlog.pm
changeset 655 3f65fd25dfd4
--- /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;