--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/bin/sbs_filter Mon Dec 14 21:34:47 2009 +0000
@@ -0,0 +1,91 @@
+#!/bin/bash
+# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# 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:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+# raptor script
+# add mingw to the PATH if we are running Cygwin on Windows
+#
+
+# If SBS_HOME is not set in the environment then work it out
+# from the path to this batch file
+if [ -z "$SBS_HOME" ] ; then
+ temp=$0
+ SBS_HOME=$(cd ${temp%/*} && echo $PWD)
+ export SBS_HOME=${SBS_HOME%/bin}
+fi
+
+# Ensure that the host type is set for Raptor:
+eval $($SBS_HOME/bin/gethost.sh -e)
+
+if [ -z "$HOSTPLATFORM" ]; then
+ echo "Error: HOSTPLATFORM could not be determined." 1>&2
+ exit 1
+fi
+
+if [ ! -d "$SBS_HOME/$HOSTPLATFORM_DIR" ]; then
+cat 1>&2 <<EOERROR
+Error: sbs has not been installed with support for your platform: "${HOSTPLATFORM}".
+EOERROR
+ exit 1
+fi
+
+if [ "$OSTYPE" == "cygwin" ]; then
+
+ SBS_HOME=${SBS_HOME//\\//}
+
+ __MINGW__=${SBS_MINGW:-$SBS_HOME/$HOSTPLATFORM_DIR/mingw}
+ __CYGWIN__=${SBS_CYGWIN:-$SBS_HOME/$HOSTPLATFORM_DIR/cygwin}
+ __PYTHON__=${SBS_PYTHON:-$SBS_HOME/$HOSTPLATFORM_DIR/python252/python.exe}
+ export PYTHONPATH=${SBS_PYTHONPATH:-$SBS_HOME/$HOSTPLATFORM_DIR/python252}
+
+ # Command for unifying path strings. For example, "c:\some\path" and
+ # "/cygdrive/c/some/path" will both be converted into "c:/some/path".
+ u="$__CYGWIN__/bin/cygpath.exe -m"
+
+ __MINGW__=$($u "$__MINGW__")
+ __CYGWIN__=$($u "$__MINGW__")
+ __PYTHON__=$($u "$__PYTHON__")
+
+ export SBS_HOME=$($u "$SBS_HOME")
+ export EPOCROOT=$($u "$EPOCROOT")
+
+ export PATH=${__MINGW__}/bin:${__CYGWIN__}/bin:$SBS_HOME/$HOSTPLATFORM_DIR/bin:$PATH
+
+ # Tell Cygwin not to map unix security attributes to windows to
+ # prevent raptor from potentially creating read-only files:
+ export CYGWIN='nontsec nosmbntsec'
+
+else
+ export PYTHONPATH=${SBS_PYTHONPATH:-$SBS_HOME/$HOSTPLATFORM_DIR/python262/lib}
+ PATH=$SBS_HOME/$HOSTPLATFORM_DIR/python262/bin:$SBS_HOME/$HOSTPLATFORM_DIR/bin:$PATH
+ LD_LIBRARY_PATH=$SBS_HOME/$HOSTPLATFORM_DIR/python262/lib:$SBS_HOME/$HOSTPLATFORM_DIR/bv/lib:$LD_LIBRARY_PATH
+
+ export PATH LD_LIBRARY_PATH
+ __PYTHON__=python
+fi
+
+
+# call sbs_filter.py with the arguments
+
+FILTER_START="$SBS_HOME/bin/sbs_filter.py"
+
+if [ -e "$FILTER_START" ]; then
+ # run the source version
+ ${__PYTHON__} "$FILTER_START" "$@"
+elif [ -e "$FILTER_START"c ]; then
+ # run the compiled version
+ ${__PYTHON__} "$FILTER_START"c "$@"
+else
+ echo "Cannot start sbs_filter - $FILTER_START not found." 1>&2
+ echo "Check your SBS_HOME environment variable." 1>&2
+fi
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/bin/sbs_filter.bat Mon Dec 14 21:34:47 2009 +0000
@@ -0,0 +1,47 @@
+@rem
+@rem Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+@rem All rights reserved.
+@rem This component and the accompanying materials are made available
+@rem under the terms of the License "Eclipse Public License v1.0"
+@rem which accompanies this distribution, and is available
+@rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
+@rem
+@rem Initial Contributors:
+@rem Nokia Corporation - initial contribution.
+@rem
+@rem Contributors:
+@rem
+@rem Description:
+@rem
+
+@REM Automatically find SBS_HOME if it is not set
+@IF NOT "%SBS_HOME%"=="" goto foundhome
+@SET RAPTORBINDIR=%~dp0
+@SET WD=%cd%
+@cd %RAPTORBINDIR%\..
+@SET SBS_HOME=%cd%
+@cd %WD%
+:foundhome
+
+@REM Use the cygwin set by the environment if possible
+@SET __CYGWIN__=%SBS_CYGWIN%
+@IF "%__CYGWIN__%"=="" SET __CYGWIN__=%SBS_HOME%\win32\cygwin
+
+@REM add to the search path
+@SET PATH=%__CYGWIN__%\bin;%PATH%
+
+@REM Make sure that /tmp is not set incorrectly for sbs
+@umount -u /tmp >NUL 2>NUL
+@mount -u %TEMP% /tmp >NUL 2>NUL
+@umount -u / >NUL 2>NUL
+@mount -u %__CYGWIN__% / >NUL 2>NUL
+
+@REM Tell CYGWIN not to map unix security attributes to windows to
+@REM prevent raptor from potentially creating read-only files:
+@set CYGWIN=nontsec nosmbntsec
+
+@REM Run with all the arguments.
+@bash %SBS_HOME%\bin\sbs_filter %*
+
+@ENDLOCAL
+@cmd /c exit /b %ERRORLEVEL%
--- a/sbsv2/raptor/python/plugins/filter_what.py Mon Dec 14 20:57:55 2009 +0000
+++ b/sbsv2/raptor/python/plugins/filter_what.py Mon Dec 14 21:34:47 2009 +0000
@@ -42,6 +42,12 @@
self.outfile.write(filename+"\n")
self.prints += 1
+
+ def start_bldinf(self, bldinf):
+ pass
+
+ def end_bldinf(self):
+ pass
def open(self, build_parameters):
@@ -79,6 +85,10 @@
"Regex for zip exports"
self.zip_export_regex = re.compile("^<member>.*")
+
+ "Regex for determining bld.inf name"
+ self.whatlog_regex = re.compile("^<whatlog *bldinf='(?P<bldinf>[^']*)'.*")
+ self.current_bldinf = ''
self.prints = 0
self.ok = True
@@ -105,6 +115,7 @@
self.repetitions[line] = 0
if self.repetitions[line] == 0:
+
if self.regex.match(line) and (self.what or self.check):
"Print the whole line"
self.print_file(line, (-1), len(line))
@@ -129,6 +140,19 @@
end = line.rfind("<")
self.print_file(line, start, end)
+
+ else:
+ "work out what the 'current' bldinf file is"
+ m = self.whatlog_regex.match(line)
+ if m:
+ bi = m.groupdict()['bldinf']
+ if self.current_bldinf != bi:
+ if self.current_bldinf != '':
+ self.end_bldinf()
+ self.current_bldinf = bi
+ self.start_bldinf(bi)
+
+
self.repetitions[line] += 1
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/python/plugins/filter_whatcomp.py Mon Dec 14 21:34:47 2009 +0000
@@ -0,0 +1,46 @@
+#
+# Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# 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:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+# Filter class for doing --what and --check operations
+#
+
+import os
+import sys
+import re
+import filter_interface
+import filter_what
+
+class FilterWhatComp(filter_what.FilterWhat):
+
+ def write(self, text):
+ "process some log text"
+
+ for line in text.splitlines():
+ ok =filter_what.FilterWhat.write(self, line)
+ if not ok:
+ break
+
+ self.ok = ok
+ return self.ok
+
+ def start_bldinf(self,bldinf):
+ if "win" in self.buildparameters.platform:
+ dir = os.path.dirname(bldinf.replace("/","\\"))
+ else:
+ dir = os.path.dirname(bldinf)
+
+ self.outfile.write("-- abld -w \nChdir %s \n" % dir)
+
+ def end_bldinf(self):
+ self.outfile.write("++ Finished\n")