# HG changeset patch
# User cawthron
# Date 1240682050 18000
# Node ID c937102a551076fa2d6d689ae977fd03b7f82f7d
# Parent 37df159d7f81d7e4bd2e0e39093965ef304f3c9d# Parent efa1c6e4825e7476e64dc063fd24a6280969c2d9
merge heads from Austin sync
diff -r 37df159d7f81 -r c937102a5510 .branch.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/.branch.txt Sat Apr 25 12:54:10 2009 -0500
@@ -0,0 +1,2 @@
+default
+
diff -r 37df159d7f81 -r c937102a5510 .hgignore
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/.hgignore Sat Apr 25 12:54:10 2009 -0500
@@ -0,0 +1,8 @@
+# use glob syntax.
+syntax: glob
+bin
+runtime
+\.DS_Store
+connectivity/com.nokia.tcf/os/*
+connectivity/com.nokia.tcf/native/TCFNative/*/Release
+connectivity/com.nokia.tcf/native/TCFNative/*/Debug
diff -r 37df159d7f81 -r c937102a5510 builder/com.nokia.carbide.cdt.builder.test/META-INF/MANIFEST.MF
--- a/builder/com.nokia.carbide.cdt.builder.test/META-INF/MANIFEST.MF Sat Apr 25 12:50:39 2009 -0500
+++ b/builder/com.nokia.carbide.cdt.builder.test/META-INF/MANIFEST.MF Sat Apr 25 12:54:10 2009 -0500
@@ -6,16 +6,21 @@
Bundle-Activator: com.nokia.carbide.cdt.builder.test.TestPlugin
Bundle-Vendor: NOKIA
Bundle-Localization: plugin
-Require-Bundle: org.eclipse.ui,
+Require-Bundle: abbot,
+ abbot.swt,
+ abbot.swt.eclipse,
+ org.eclipse.ui,
org.eclipse.core.runtime,
org.junit,
com.nokia.carbide.cpp.sdk.core,
org.eclipse.emf.common,
com.nokia.carbide.cpp.project.core,
org.eclipse.core.resources,
+ com.nokia.carbide.automation.utils,
com.nokia.carbide.cdt.builder,
com.nokia.carbide.cpp.epoc.engine,
com.nokia.cpp.utils.core,
- org.eclipse.cdt.core
+ org.eclipse.cdt.core,
+ org.jdom
Bundle-ActivationPolicy: lazy
Export-Package: com.nokia.carbide.cdt.builder.test
diff -r 37df159d7f81 -r c937102a5510 builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/abstractgcce.input.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/abstractgcce.input.txt Sat Apr 25 12:54:10 2009 -0500
@@ -0,0 +1,4 @@
+arm-none-symbianelf-g++: \test\test.cpp: No such file or directory
+arm-none-symbianelf-g++: no input files
+arm-none-symbianelf-g++: warning: `-x c++' after last input file has no effect
+arm-none-symbianelf-g++: error: some message
diff -r 37df159d7f81 -r c937102a5510 builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/abstractgcce.regression.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/abstractgcce.regression.xml Sat Apr 25 12:54:10 2009 -0500
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff -r 37df159d7f81 -r c937102a5510 builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/2969.gcce.input.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/2969.gcce.input.txt Sat Apr 25 12:54:10 2009 -0500
@@ -0,0 +1,17 @@
+perl.exe -S ABLD.PL \Symbian\Carbide\workspace\test3\group\ target gcce urel
+ make -r -f "\S60\devices\S60_3rd_FP2_SDK_v1.1\EPOC32\BUILD\Symbian\Carbide\workspace\test3\group\GCCE.make" TARGET CFG=UREL VERBOSE=-s
+arm-none-symbianelf-ld: \S60\devices\S60_3rd_FP2_SDK_v1.1\epoc32\release\ARMV5\LIB\foo.dso: No such file: No such file or directory
+make[1]: *** [\S60\devices\S60_3rd_FP2_SDK_v1.1\epoc32\release\GCCE\urel\test3.exe] Error 1
+make: *** [TARGETTEST3] Error 2
+
+perl.exe -S ABLD.PL \Symbian\Carbide\workspace\test3\group\ target gcce urel
+ make -r -f "\S60\devices\S60_3rd_FP2_SDK_v1.1\EPOC32\BUILD\Symbian\Carbide\workspace\test3\group\GCCE.make" TARGET CFG=UREL VERBOSE=-s
+arm-none-symbianelf-g++: \test\test.cpp: No such file or directory
+make[1]: *** [\S60\devices\S60_3rd_FP2_SDK_v1.1\epoc32\release\GCCE\urel\test3.exe] Error 1
+make: *** [TARGETTEST3] Error 2
+
+perl.exe -S ABLD.PL \Symbian\Carbide\workspace\test3\group\ target gcce urel
+ make -r -f "\S60\devices\S60_3rd_FP2_SDK_v1.1\EPOC32\BUILD\Symbian\Carbide\workspace\test3\group\GCCE.make" TARGET CFG=UREL VERBOSE=-s
+arm-none-symbianelf-as: \test\test.s: No such file or directory
+make[1]: *** [\S60\devices\S60_3rd_FP2_SDK_v1.1\epoc32\release\GCCE\urel\test3.exe] Error 1
+make: *** [TARGETTEST3] Error 2
\ No newline at end of file
diff -r 37df159d7f81 -r c937102a5510 builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/2969.gcce.regression.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/2969.gcce.regression.xml Sat Apr 25 12:54:10 2009 -0500
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff -r 37df159d7f81 -r c937102a5510 builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/3053.rvct.input.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/3053.rvct.input.txt Sat Apr 25 12:54:10 2009 -0500
@@ -0,0 +1,20 @@
+make[1]: Leaving directory `C:/Symbian/9.1/S60_3rd_MR/S60Ex/AddressBook/group'
+ make -r -f
+"\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Symbian\9.1\S60_3rd_MR\S60Ex\AddressBook\group\ARMV5.make"
+TARGET CFG=UDEB
+Warning: C3492W: Site License not found, falling back to normal license
+ARM/Thumb C/C++ Compiler, RVCT2.2 [Build 593]
+Error: C3397E: Cannot obtain license for Compiler (feature compiler) with
+license version >= 2.2:
+The desired vendor daemon is down
+ 1) Check the lmgrd log file, or 2) Try lmreread
+Feature: compiler
+Vendor:Host: asqarun1.americas.nokia.com
+License path: 7166@asqarun1.americas.nokia.com
+FLEXlm error: -97,121
+For further information, refer to the FLEXlm End User Manual,
+available at "www.macrovision.com".
+
+make[1]: ***
+[..\..\..\EPOC32\BUILD\Symbian\9.1\S60_3rd_MR\S60Ex\AddressBook\group\ADDRESSBOOK\ARMV5\UDEB\AddressBookApp.o]
+Error 1
diff -r 37df159d7f81 -r c937102a5510 builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/3053.rvct.regression.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/3053.rvct.regression.xml Sat Apr 25 12:54:10 2009 -0500
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff -r 37df159d7f81 -r c937102a5510 builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/3134.winscw.input.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/3134.winscw.input.txt Sat Apr 25 12:54:10 2009 -0500
@@ -0,0 +1,2 @@
+ -- C:\Symbian\9.1\S60_3rd\EPOC32\INCLUDE\RVCT0_0\RVCT0_0.H: No such file or directory
+ ERROR: cpp.EXE failure
diff -r 37df159d7f81 -r c937102a5510 builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/3134.winscw.regression.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/3134.winscw.regression.xml Sat Apr 25 12:54:10 2009 -0500
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff -r 37df159d7f81 -r c937102a5510 builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/3201.winscw.input.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/3201.winscw.input.txt Sat Apr 25 12:54:10 2009 -0500
@@ -0,0 +1,9 @@
+process_begin: CreateProcess((null), mwccsym2.exe -g -O0 -wchar_t off -align 4
+-warnings on -w nohidevirtual,nounusedexpr -msgstyle gcc -enum int -str pool
+-nostdinc -d _DEBUG -d _UNICODE -d __SYMBIAN32__ -d __CW32__ -d __WINS__ -d
+__WINSCW__ -cwd source -i- -i
+\AUSCVS_JOEY_DEV\ECLIPSE\RUNTIME-NEW_CONFIGURATION\TESTLIB\INC -i
+\Symbian\8.0a\S60_2nd_FP2_CW\EPOC32\INCLUDE -o
+\Symbian\8.0a\S60_2nd_FP2_CW\EPOC32\BUILD\AUSCVS_JOEY_DEV\ECLIPSE\RUNTIME-NEW_CONFIGURATION\TESTLIB\GROUP\TESTLIB\WINSCW\UDEB\TESTLIB.o
+-c \AUSCVS_JOEY_DEV\ECLIPSE\RUNTIME-NEW_CONFIGURATION\TESTLIB\SRC\Testlib.cpp,
+...) failed.
diff -r 37df159d7f81 -r c937102a5510 builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/3201.winscw.regression.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/3201.winscw.regression.xml Sat Apr 25 12:54:10 2009 -0500
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff -r 37df159d7f81 -r c937102a5510 builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/3490.winscw.input.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/3490.winscw.input.txt Sat Apr 25 12:54:10 2009 -0500
@@ -0,0 +1,1 @@
+'nmake' is not recognized as an internal or external command, operable program or batch file.
diff -r 37df159d7f81 -r c937102a5510 builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/3490.winscw.regression.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/3490.winscw.regression.xml Sat Apr 25 12:54:10 2009 -0500
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff -r 37df159d7f81 -r c937102a5510 builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/3642.winscw.input.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/3642.winscw.input.txt Sat Apr 25 12:54:10 2009 -0500
@@ -0,0 +1,11 @@
+***Performing targeted build for configuration... Phone Debug (GCCE)
+[S60_3rd_MR].
+C:\WINNT\system32\cmd.exe /c abld target GCCE UDEB -v
+ make -r -f
+"\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Symbian\Carbide\workspace\baz\group\GCCE.make"
+TARGET CFG=UDEB
+The process cannot access the file because it is being used by another process.
+make[1]: *** [..\..\..\..\9.1\S60_3rd_MR\EPOC32\RELEASE\GCCE\UDEB\baz.exe]
+Error 1
+make: *** [TARGETBAZ] Error 2
+make -C \Symbian\Carbide\workspace\baz\group -f "ICONS_SCALABLE_DC.MK"
diff -r 37df159d7f81 -r c937102a5510 builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/3642.winscw.regression.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/3642.winscw.regression.xml Sat Apr 25 12:54:10 2009 -0500
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff -r 37df159d7f81 -r c937102a5510 builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/4541.gcce.input.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/4541.gcce.input.txt Sat Apr 25 12:54:10 2009 -0500
@@ -0,0 +1,6 @@
+perl.exe -S ABLD.PL \Symbian\Carbide\kinoma\test3\group\ target gcce urel
+ make -r -f "\S60\devices\S60_3rd_FP2_SDK_v1.1\EPOC32\BUILD\Symbian\Carbide\kinoma\test3\group\GCCE.make" TARGET CFG=UREL VERBOSE=-s
+\S60\devices\S60_3rd_FP2_SDK_v1.1\EPOC32\BUILD\Symbian\Carbide\kinoma\test3\group\TEST3\GCCE\UREL\test3.o: In function `MainL()':
+test3.cpp:(.text+0x14): undefined reference to `foo()'
+make[1]: *** [\S60\devices\S60_3rd_FP2_SDK_v1.1\epoc32\release\GCCE\urel\test3.exe] Error 1
+make: *** [TARGETTEST3] Error 2
\ No newline at end of file
diff -r 37df159d7f81 -r c937102a5510 builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/4541.gcce.regression.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/4541.gcce.regression.xml Sat Apr 25 12:54:10 2009 -0500
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff -r 37df159d7f81 -r c937102a5510 builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/5618.gcce.input.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/5618.gcce.input.txt Sat Apr 25 12:54:10 2009 -0500
@@ -0,0 +1,13 @@
+perl.exe -S ABLD.PL \develop\S60-3P\BarcMeProject\BarcMe\CS60-3P\ target gcce urel
+ make -r -f "\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\develop\S60-3P\BarcMeProject\BarcMe\CS60-3P\GCCE.make" TARGET CFG=UREL VERBOSE=-s
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\develop\S60-3P\BarcMeProject\BarcMe\CS60-3P\BARCME\GCCE\UREL\ScanEngine.o:(.rodata+0x14): undefined reference to `CScanEngine::HandleEvent(TECAMEvent const&)'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\develop\S60-3P\BarcMeProject\BarcMe\CS60-3P\BARCME\GCCE\UREL\ScanEngine.o:(.rodata+0x18): undefined reference to `CScanEngine::ViewFinderReady(MCameraBuffer&, int)'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\develop\S60-3P\BarcMeProject\BarcMe\CS60-3P\BARCME\GCCE\UREL\ScanEngine.o:(.rodata+0x1c): undefined reference to `CScanEngine::ImageBufferReady(MCameraBuffer&, int)'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\develop\S60-3P\BarcMeProject\BarcMe\CS60-3P\BARCME\GCCE\UREL\ScanEngine.o:(.rodata+0x20): undefined reference to `CScanEngine::VideoBufferReady(MCameraBuffer&, int)'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\develop\S60-3P\BarcMeProject\BarcMe\CS60-3P\BARCME\GCCE\UREL\ScanEngine.o:(.rodata+0x2c): undefined reference to `non-virtual thunk to CScanEngine::HandleEvent(TECAMEvent const&)'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\develop\S60-3P\BarcMeProject\BarcMe\CS60-3P\BARCME\GCCE\UREL\ScanEngine.o:(.rodata+0x30): undefined reference to `non-virtual thunk to CScanEngine::ViewFinderReady(MCameraBuffer&, int)'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\develop\S60-3P\BarcMeProject\BarcMe\CS60-3P\BARCME\GCCE\UREL\ScanEngine.o:(.rodata+0x34): undefined reference to `non-virtual thunk to CScanEngine::ImageBufferReady(MCameraBuffer&, int)'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\develop\S60-3P\BarcMeProject\BarcMe\CS60-3P\BARCME\GCCE\UREL\ScanEngine.o:(.rodata+0x38): undefined reference to `non-virtual thunk to CScanEngine::VideoBufferReady(MCameraBuffer&, int)'
+make[1]: *** [..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\RELEASE\GCCE\UREL\BarcMe_20008181.exe] Error 1
+make: *** [TARGETBARCME] Error 2
+make -j 4 -s -r -f "\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\develop\S60-3P\BarcMeProject\BarcMe\CS60-3P\BARCME\GCCE\BARCME.GCCE" UREL
\ No newline at end of file
diff -r 37df159d7f81 -r c937102a5510 builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/5618.gcce.regression.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/5618.gcce.regression.xml Sat Apr 25 12:54:10 2009 -0500
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r 37df159d7f81 -r c937102a5510 builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/5824.gcce.input.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/5824.gcce.input.txt Sat Apr 25 12:54:10 2009 -0500
@@ -0,0 +1,23 @@
+perl.exe -S ABLD.PL \BlackFlag\ target gcce udeb
+ make -r -f "\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\BlackFlag\GCCE.make" TARGET
+CFG=UDEB VERBOSE=-s
+arm-none-symbianelf-g++: ..\..\SRC\Main.cpp: No such file or directory
+arm-none-symbianelf-g++: warning: `-x c++' after last input file has no effect
+arm-none-symbianelf-g++: no input files
+arm-none-symbianelf-g++: ..\..\SRC\Dbg_breakpoints.cpp: No such file or directory
+arm-none-symbianelf-g++: warning: `-x c++' after last input file has no effect
+arm-none-symbianelf-g++: no input files
+make[1]: ***
+[..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\BlackFlag\BLACKFLAG\GCCE\UDEB\main.o] Error 1
+make[1]: *** Waiting for unfinished jobs....
+make[1]: ***
+[..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\BlackFlag\BLACKFLAG\GCCE\UDEB\dbg_breakpoints.o] Error 1
+arm-none-symbianelf-g++: ..\..\SRC\Dbg_debug_menu.cpp: No such file or directory
+arm-none-symbianelf-g++: warning: `-x c++' after last input file has no effect
+arm-none-symbianelf-g++: no input files
+make[1]: ***
+[..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\BlackFlag\BLACKFLAG\GCCE\UDEB\dbg_debug_menu.o] Error 1
+make: *** [TARGETBLACKFLAG] Error 2
+arm-none-symbianelf-g++: ..\..\SRC\Dbg_derived_types.cpp: No such file or directory
+arm-none-symbianelf-g++: warning: `-x c++' after last input file has no effect
+arm-none-symbianelf-g++: no input files
diff -r 37df159d7f81 -r c937102a5510 builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/5824.gcce.regression.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/5824.gcce.regression.xml Sat Apr 25 12:54:10 2009 -0500
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r 37df159d7f81 -r c937102a5510 builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/6415.winscw.input.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/6415.winscw.input.txt Sat Apr 25 12:54:10 2009 -0500
@@ -0,0 +1,17 @@
+Reportagencycontainer.cpp
+Reportcontainer.cpp
+Reportprojectcontainer.cpp
+Reportselectcontainer.cpp
+Reportsummarycontainer.cpp
+Reporttaskcontainer.cpp
+Reportview.cpp
+Yearselectitem.cpp
+Importhistorycontainer.cpp
+make[1]: *** [..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\RELEASE\GCCE\UREL\Punch2Go_A00001CE.exe] Error 87
+Importprogressdlgimpl.cpp
+Logentrydetailsdlg.cpp
+Logentrydetailscontainer.cpp
+Logentryeditdlg.cpp
+Logentryeditlistbox.cpp
+make: *** [TARGETPUNCH2GO] Error 2
+Maincontainer.cpp
diff -r 37df159d7f81 -r c937102a5510 builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/6415.winscw.regression.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/6415.winscw.regression.xml Sat Apr 25 12:54:10 2009 -0500
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff -r 37df159d7f81 -r c937102a5510 builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/6417.gcce.input.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/6417.gcce.input.txt Sat Apr 25 12:54:10 2009 -0500
@@ -0,0 +1,181 @@
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::NewL(CDataKeeper&)':
+Overtimehandler.cpp:(.text+0x0): multiple definition of `COvertimeHandler::NewL(CDataKeeper&)'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x0): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::COvertimeHandler(CDataKeeper&)':
+Overtimehandler.cpp:(.text+0xa4): multiple definition of `COvertimeHandler::COvertimeHandler(CDataKeeper&)'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0xa4): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::ConstructL()':
+Overtimehandler.cpp:(.text+0x1ac): multiple definition of `COvertimeHandler::ConstructL()'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x1ac): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::COvertimeHandler(CDataKeeper&)':
+Overtimehandler.cpp:(.text+0x40): multiple definition of `COvertimeHandler::COvertimeHandler(CDataKeeper&)'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x40): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::restoreDefaultValues()':
+Overtimehandler.cpp:(.text+0x3b8): multiple definition of `COvertimeHandler::restoreDefaultValues()'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x3b8): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:(.rodata+0x0): multiple definition of `vtable for COvertimeHandler'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:(.rodata+0x0): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::~COvertimeHandler()':
+Overtimehandler.cpp:(.text+0x108): multiple definition of `COvertimeHandler::~COvertimeHandler()'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x108): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::~COvertimeHandler()':
+Overtimehandler.cpp:(.text+0x13c): multiple definition of `COvertimeHandler::~COvertimeHandler()'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x13c): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::~COvertimeHandler()':
+Overtimehandler.cpp:(.text+0x170): multiple definition of `COvertimeHandler::~COvertimeHandler()'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x170): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::save(MSettingsStorage&)':
+Overtimehandler.cpp:(.text+0x1b0): multiple definition of `COvertimeHandler::save(MSettingsStorage&)'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x1b0): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::load(MSettingsStorage&)':
+Overtimehandler.cpp:(.text+0x280): multiple definition of `COvertimeHandler::load(MSettingsStorage&)'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x280): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::handleViewActivated()':
+Overtimehandler.cpp:(.text+0x450): multiple definition of `COvertimeHandler::handleViewActivated()'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x450): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::handleViewDeactivated()':
+Overtimehandler.cpp:(.text+0x454): multiple definition of `COvertimeHandler::handleViewDeactivated()'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x454): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::handleWentBackground()':
+Overtimehandler.cpp:(.text+0x458): multiple definition of `COvertimeHandler::handleWentBackground()'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x458): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::handleWentForeground()':
+Overtimehandler.cpp:(.text+0x45c): multiple definition of `COvertimeHandler::handleWentForeground()'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x45c): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::getOvertimeEngine()':
+Overtimehandler.cpp:(.text+0x460): multiple definition of `COvertimeHandler::getOvertimeEngine()'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x460): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::getPunchEngine()':
+Overtimehandler.cpp:(.text+0x478): multiple definition of `COvertimeHandler::getPunchEngine()'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x478): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::getSelectedHolidayId() const':
+Overtimehandler.cpp:(.text+0x490): multiple definition of `COvertimeHandler::getSelectedHolidayId() const'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x490): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::getSelectedHolidayObject()':
+Overtimehandler.cpp:(.text+0x498): multiple definition of `COvertimeHandler::getSelectedHolidayObject()'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x498): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::getEditHolidayObject()':
+Overtimehandler.cpp:(.text+0x4c0): multiple definition of `COvertimeHandler::getEditHolidayObject()'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x4c0): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::getSelectedVacationId() const':
+Overtimehandler.cpp:(.text+0x4c8): multiple definition of `COvertimeHandler::getSelectedVacationId() const'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x4c8): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::getSelectedVacationObject()':
+Overtimehandler.cpp:(.text+0x4d0): multiple definition of `COvertimeHandler::getSelectedVacationObject()'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x4d0): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::getEditVacationObject()':
+Overtimehandler.cpp:(.text+0x4f8): multiple definition of `COvertimeHandler::getEditVacationObject()'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x4f8): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::getStartStatistics() const':
+Overtimehandler.cpp:(.text+0x500): multiple definition of `COvertimeHandler::getStartStatistics() const'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x500): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::getEndStatistics() const':
+Overtimehandler.cpp:(.text+0x508): multiple definition of `COvertimeHandler::getEndStatistics() const'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x508): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::getStartResult() const':
+Overtimehandler.cpp:(.text+0x510): multiple definition of `COvertimeHandler::getStartResult() const'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x510): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::getWorkHours() const':
+Overtimehandler.cpp:(.text+0x518): multiple definition of `COvertimeHandler::getWorkHours() const'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x518): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::setSelectedHolidayId(int)':
+Overtimehandler.cpp:(.text+0x520): multiple definition of `COvertimeHandler::setSelectedHolidayId(int)'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x520): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::setSelectedVacationId(int)':
+Overtimehandler.cpp:(.text+0x528): multiple definition of `COvertimeHandler::setSelectedVacationId(int)'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x528): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::setStartStatistics(TTime const&)':
+Overtimehandler.cpp:(.text+0x530): multiple definition of `COvertimeHandler::setStartStatistics(TTime const&)'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x530): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::setEndStatistics(TTime const&)':
+Overtimehandler.cpp:(.text+0x598): multiple definition of `COvertimeHandler::setEndStatistics(TTime const&)'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x598): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::setStartResult(int)':
+Overtimehandler.cpp:(.text+0x600): multiple definition of `COvertimeHandler::setStartResult(int)'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x600): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::setWorkHours(int)':
+Overtimehandler.cpp:(.text+0x63c): multiple definition of `COvertimeHandler::setWorkHours(int)'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x63c): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::handleHolidayEditL(MObjectProvider*, MReloadable*)':
+Overtimehandler.cpp:(.text+0x678): multiple definition of `COvertimeHandler::handleHolidayEditL(MObjectProvider*, MReloadable*)'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x678): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::canModifyObject(TBOBase const*)':
+Overtimehandler.cpp:(.text+0xb20): multiple definition of `COvertimeHandler::canModifyObject(TBOBase const*)'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0xb20): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::handleHolidayNewL(MObjectProvider*, MReloadable*)':
+Overtimehandler.cpp:(.text+0x750): multiple definition of `COvertimeHandler::handleHolidayNewL(MObjectProvider*, MReloadable*)'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x750): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::handleHolidayDeleteL(MObjectProvider*, MReloadable*)':
+Overtimehandler.cpp:(.text+0x7f4): multiple definition of `COvertimeHandler::handleHolidayDeleteL(MObjectProvider*, MReloadable*)'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x7f4): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::handleVacationEditL(MObjectProvider*, MReloadable*)':
+Overtimehandler.cpp:(.text+0x8cc): multiple definition of `COvertimeHandler::handleVacationEditL(MObjectProvider*, MReloadable*)'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x8cc): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::handleVacationNewL(MObjectProvider*, MReloadable*)':
+Overtimehandler.cpp:(.text+0x9a4): multiple definition of `COvertimeHandler::handleVacationNewL(MObjectProvider*, MReloadable*)'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0x9a4): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o: In function `COvertimeHandler::handleVacationDeleteL(MObjectProvider*, MReloadable*)':
+Overtimehandler.cpp:(.text+0xa48): multiple definition of `COvertimeHandler::handleVacationDeleteL(MObjectProvider*, MReloadable*)'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:Overtimehandler.cpp:(.text+0xa48): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:(.rodata+0x64): multiple definition of `typeinfo for COvertimeHandler'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:(.rodata+0x64): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:(.rodata+0x50): multiple definition of `typeinfo name for COvertimeHandler'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\OvertimeHandler.o:(.rodata+0x50): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o: In function `CMyContainer::CMyContainer(CDataKeeper*)':
+Mycontainer.cpp:(.text+0x0): multiple definition of `CMyContainer::CMyContainer(CDataKeeper*)'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o:Mycontainer.cpp:(.text+0x0): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o:(.rodata+0x0): multiple definition of `vtable for CMyContainer'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o:(.rodata+0x0): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o: In function `CMyContainer::CMyContainer(CDataKeeper*)':
+Mycontainer.cpp:(.text+0x5c): multiple definition of `CMyContainer::CMyContainer(CDataKeeper*)'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o:Mycontainer.cpp:(.text+0x5c): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o: In function `CMyContainer::~CMyContainer()':
+Mycontainer.cpp:(.text+0xb8): multiple definition of `CMyContainer::~CMyContainer()'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o:Mycontainer.cpp:(.text+0xb8): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o: In function `CMyContainer::~CMyContainer()':
+Mycontainer.cpp:(.text+0x144): multiple definition of `CMyContainer::~CMyContainer()'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o:Mycontainer.cpp:(.text+0x144): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o: In function `CMyContainer::~CMyContainer()':
+Mycontainer.cpp:(.text+0x1d0): multiple definition of `CMyContainer::~CMyContainer()'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o:Mycontainer.cpp:(.text+0x1d0): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o: In function `CMyContainer::BaseContainerConstructL()':
+Mycontainer.cpp:(.text+0x264): multiple definition of `CMyContainer::BaseContainerConstructL()'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o:Mycontainer.cpp:(.text+0x264): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o: In function `CMyContainer::getDataKeeper() const':
+Mycontainer.cpp:(.text+0x268): multiple definition of `CMyContainer::getDataKeeper() const'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o:Mycontainer.cpp:(.text+0x268): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o: In function `CMyContainer::handleSizeChanged(TRect const&)':
+Mycontainer.cpp:(.text+0x270): multiple definition of `CMyContainer::handleSizeChanged(TRect const&)'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o:Mycontainer.cpp:(.text+0x270): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o: In function `CMyContainer::CountComponentControls() const':
+Mycontainer.cpp:(.text+0x284): multiple definition of `CMyContainer::CountComponentControls() const'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o:Mycontainer.cpp:(.text+0x284): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o: In function `CMyContainer::ComponentControl(int) const':
+Mycontainer.cpp:(.text+0x29c): multiple definition of `CMyContainer::ComponentControl(int) const'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o:Mycontainer.cpp:(.text+0x29c): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o: In function `CMyContainer::addControlL(CCoeControl*)':
+Mycontainer.cpp:(.text+0x2c8): multiple definition of `CMyContainer::addControlL(CCoeControl*)'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o:Mycontainer.cpp:(.text+0x2c8): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o: In function `CMyContainer::removeControl(CCoeControl*)':
+Mycontainer.cpp:(.text+0x318): multiple definition of `CMyContainer::removeControl(CCoeControl*)'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o:Mycontainer.cpp:(.text+0x318): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o: In function `CMyContainer::resetControls()':
+Mycontainer.cpp:(.text+0x3a8): multiple definition of `CMyContainer::resetControls()'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o:Mycontainer.cpp:(.text+0x3a8): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o: In function `CMyContainer::handleBeforeDestruction()':
+Mycontainer.cpp:(.text+0x3c8): multiple definition of `CMyContainer::handleBeforeDestruction()'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o:Mycontainer.cpp:(.text+0x3c8): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o: In function `CMyContainer::isDestructing() const':
+Mycontainer.cpp:(.text+0x3f0): multiple definition of `CMyContainer::isDestructing() const'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o:Mycontainer.cpp:(.text+0x3f0): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o:(.rodata+0x118): multiple definition of `typeinfo for CMyContainer'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o:(.rodata+0x118): first defined here
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o:(.rodata+0x108): multiple definition of `typeinfo name for CMyContainer'
+..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\UREL\MyContainer.o:(.rodata+0x108): first defined here
+make[1]: *** [..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\RELEASE\GCCE\UREL\P2GData_A00001CD.dll] Error 1
+make: *** [TARGETP2GDATACLASSES] Error 2
+make -j 4 -s -C \Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3 -f "PROGRAMICON.MK" TO_ROOT=..\..\..\..\.. EPOCBLD=..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\PROGRAMICON\GCCE TO_BLDINF=..\..\..\..\..\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3 PLATFORM=GCCE CFG=UREL BLD
+make -j 4 -s -C \Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3 -f "PROGRAMGRAPHICS.MK" TO_ROOT=..\..\..\..\.. EPOCBLD=..\..\..\..\..\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\PROGRAMGRAPHICS\GCCE TO_BLDINF=..\..\..\..\..\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3 PLATFORM=GCCE CFG=UREL BLD
+make -j 4 -s -r -f "\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GCOMMON\GCCE\P2GCOMMON.GCCE" UREL
+make -j 4 -s -r -f "\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GSERVER\GCCE\P2GSERVER.GCCE" UREL
+make -j 4 -s -r -f "\Symbian\9.1\S60_3rd_MR\EPOC32\BUILD\Carb13rc2\Workspace-P2G-3\Punch2Go-S60-3\Punch2Go\CS60-3\P2GDATACLASSES\GCCE\P2GDATACLASSES.GCCE" UREL
\ No newline at end of file
diff -r 37df159d7f81 -r c937102a5510 builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/6417.gcce.regression.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/bugzilla/6417.gcce.regression.xml Sat Apr 25 12:54:10 2009 -0500
@@ -0,0 +1,244 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r 37df159d7f81 -r c937102a5510 builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/gnu_as.input.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/gnu_as.input.txt Sat Apr 25 12:54:10 2009 -0500
@@ -0,0 +1,2 @@
+/Symbian/Carbide/workspace/test/src/Foo.s: Assembler messages:
+/Symbian/Carbide/workspace/test/src/Foo.s:13: Warning: ignoring redefinition of register alias 'WIDTH'
diff -r 37df159d7f81 -r c937102a5510 builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/gnu_as.regression.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/gnu_as.regression.xml Sat Apr 25 12:54:10 2009 -0500
@@ -0,0 +1,5 @@
+
+
+
+
+
diff -r 37df159d7f81 -r c937102a5510 builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/makmake.errors.regression.1.xml
--- a/builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/makmake.errors.regression.1.xml Sat Apr 25 12:50:39 2009 -0500
+++ b/builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/makmake.errors.regression.1.xml Sat Apr 25 12:54:10 2009 -0500
@@ -1,18 +1,20 @@
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r 37df159d7f81 -r c937102a5510 builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/sbsv2.errors.input.txt
--- a/builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/sbsv2.errors.input.txt Sat Apr 25 12:50:39 2009 -0500
+++ b/builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/sbsv2.errors.input.txt Sat Apr 25 12:54:10 2009 -0500
@@ -39,4 +39,11 @@
make: *** Waiting for unfinished jobs....
-
\ No newline at end of file
+
+
+
diff -r 37df159d7f81 -r c937102a5510 builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/sbsv2.errors.regression.xml
--- a/builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/sbsv2.errors.regression.xml Sat Apr 25 12:50:39 2009 -0500
+++ b/builder/com.nokia.carbide.cdt.builder.test/data/errorpatterns/sbsv2.errors.regression.xml Sat Apr 25 12:54:10 2009 -0500
@@ -1,4 +1,6 @@
+
+
\ No newline at end of file
diff -r 37df159d7f81 -r c937102a5510 builder/com.nokia.carbide.cdt.builder.test/src/com/nokia/carbide/cdt/builder/test/ProjectPropertiesTest.java
--- a/builder/com.nokia.carbide.cdt.builder.test/src/com/nokia/carbide/cdt/builder/test/ProjectPropertiesTest.java Sat Apr 25 12:50:39 2009 -0500
+++ b/builder/com.nokia.carbide.cdt.builder.test/src/com/nokia/carbide/cdt/builder/test/ProjectPropertiesTest.java Sat Apr 25 12:54:10 2009 -0500
@@ -26,7 +26,9 @@
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.NullProgressMonitor;
+import com.nokia.carbide.cdt.builder.BuildArgumentsInfo;
import com.nokia.carbide.cdt.builder.CarbideBuilderPlugin;
+import com.nokia.carbide.cdt.builder.project.IBuildArgumentsInfo;
import com.nokia.carbide.cdt.builder.project.ICarbideBuildConfiguration;
import com.nokia.carbide.cdt.builder.project.ICarbideProjectInfo;
import com.nokia.carbide.cdt.builder.project.ICarbideProjectModifier;
@@ -250,6 +252,92 @@
assertEquals(false, readSisInfo.isCreateStubFormat());
}
+ public void testSBSv1BuildArgsReadWrite(){
+
+ final String build_ARG = "-testbuild";
+ final String clean_ARG = "-testclean";
+ final String export_ARG = "-testexport";
+ final String final_ARG = "-testfinal";
+ final String freeze_ARG = "-testfreeze";
+ final String library_ARG = "-testlibrary";
+ final String makefile_ARG = "-testmakefile";
+ final String resource_ARG = "-testresource";
+ final String target_ARG = "-testtarget";
+
+ ICarbideProjectInfo cpi = CarbideBuilderPlugin.getBuildManager().getProjectInfo(project);
+ assertNotNull("Ooops, ICarbideProjectInfo is null, something bad happened.", cpi);
+
+ ICarbideBuildConfiguration defaultConfig = cpi.getDefaultConfiguration();
+ BuildArgumentsInfo argInfoCopyOrig = defaultConfig.getBuildArgumentsInfoCopy();
+ BuildArgumentsInfo argInfoCopyMod = defaultConfig.getBuildArgumentsInfoCopy();
+
+ // Just sanity check to make sure deprecated methods still exist.
+ IBuildArgumentsInfo testDeprecation = defaultConfig.getBuildArgumentsInfo();
+ String test = testDeprecation.getAbldBuildArgs();
+
+
+ // read the arguments
+ argInfoCopyMod.abldBuildArgs += build_ARG;
+ argInfoCopyMod.abldCleanArgs += clean_ARG;
+ argInfoCopyMod.abldExportArgs += export_ARG;
+ argInfoCopyMod.abldFinalArgs += final_ARG;
+ argInfoCopyMod.abldFreezeArgs += freeze_ARG;
+ argInfoCopyMod.abldLibraryArgs += library_ARG;
+ argInfoCopyMod.abldMakefileArgs += makefile_ARG;
+ argInfoCopyMod.abldResourceArgs += resource_ARG;
+ argInfoCopyMod.abldTargetArgs += target_ARG;
+
+ // set the argument
+ defaultConfig.setBuildArgumentsInfo(argInfoCopyMod);
+
+ // read the args from memory, make sure it's OK
+ BuildArgumentsInfo argInfoCopyVerify = defaultConfig.getBuildArgumentsInfoCopy();
+ assertTrue("Failed to re-read build args", argInfoCopyVerify.abldBuildArgs.contains(build_ARG));
+ assertTrue("Failed to re-read clean args", argInfoCopyVerify.abldCleanArgs.contains(clean_ARG));
+ assertTrue("Failed to re-read export args", argInfoCopyVerify.abldExportArgs.contains(export_ARG));
+ assertTrue("Failed to re-read final args", argInfoCopyVerify.abldFinalArgs.contains(final_ARG));
+ assertTrue("Failed to re-read freeze args", argInfoCopyVerify.abldFreezeArgs.contains(freeze_ARG));
+ assertTrue("Failed to re-read library args", argInfoCopyVerify.abldLibraryArgs.contains(library_ARG));
+ assertTrue("Failed to re-read makefile args", argInfoCopyVerify.abldMakefileArgs.contains(makefile_ARG));
+ assertTrue("Failed to re-read resource args", argInfoCopyVerify.abldResourceArgs.contains(resource_ARG));
+ assertTrue("Failed to re-read target args", argInfoCopyVerify.abldTargetArgs.contains(target_ARG));
+
+ // now write to files
+ defaultConfig.saveConfiguration(false);
+
+ // now read again
+
+ // no work, how to know if it loads from disk....
+ BuildArgumentsInfo argInfoFromDisk = defaultConfig.getBuildArgumentsInfoCopy();
+
+ // read the args now that were pulled from disk, make sure it's OK
+ assertTrue("Failed to re-read build args", argInfoCopyVerify.abldBuildArgs.contains(build_ARG));
+ assertTrue("Failed to re-read clean args", argInfoCopyVerify.abldCleanArgs.contains(clean_ARG));
+ assertTrue("Failed to re-read export args", argInfoCopyVerify.abldExportArgs.contains(export_ARG));
+ assertTrue("Failed to re-read final args", argInfoCopyVerify.abldFinalArgs.contains(final_ARG));
+ assertTrue("Failed to re-read freeze args", argInfoCopyVerify.abldFreezeArgs.contains(freeze_ARG));
+ assertTrue("Failed to re-read library args", argInfoCopyVerify.abldLibraryArgs.contains(library_ARG));
+ assertTrue("Failed to re-read makefile args", argInfoCopyVerify.abldMakefileArgs.contains(makefile_ARG));
+ assertTrue("Failed to re-read resource args", argInfoCopyVerify.abldResourceArgs.contains(resource_ARG));
+ assertTrue("Failed to re-read target args", argInfoCopyVerify.abldTargetArgs.contains(target_ARG));
+
+ // Now restore the settings, write to disk and verify
+ defaultConfig.setBuildArgumentsInfo(argInfoCopyOrig);
+ defaultConfig.saveConfiguration(false); // write to disk
+ defaultConfig = cpi.getDefaultConfiguration();
+ argInfoCopyVerify = defaultConfig.getBuildArgumentsInfoCopy();
+ assertFalse("Failed to re-read build args after restore", argInfoCopyVerify.abldBuildArgs.contains(build_ARG));
+ assertFalse("Failed to re-read clean args after restore", argInfoCopyVerify.abldCleanArgs.contains(clean_ARG));
+ assertFalse("Failed to re-read export args after restore", argInfoCopyVerify.abldExportArgs.contains(export_ARG));
+ assertFalse("Failed to re-read final args after restore", argInfoCopyVerify.abldFinalArgs.contains(final_ARG));
+ assertFalse("Failed to re-read freeze args after restore", argInfoCopyVerify.abldFreezeArgs.contains(freeze_ARG));
+ assertFalse("Failed to re-read library args after restore", argInfoCopyVerify.abldLibraryArgs.contains(library_ARG));
+ assertFalse("Failed to re-read makefile args after restore", argInfoCopyVerify.abldMakefileArgs.contains(makefile_ARG));
+ assertFalse("Failed to re-read resource args after restore", argInfoCopyVerify.abldResourceArgs.contains(resource_ARG));
+ assertFalse("Failed to re-read target args after restore", argInfoCopyVerify.abldTargetArgs.contains(target_ARG));
+
+ }
+
public void testChangesNotApplied() {
ICarbideProjectModifier cpm = CarbideBuilderPlugin.getBuildManager().getProjectModifier(project);
cpm.writeProjectSetting(ICarbideProjectInfo.PROJECT_RELATIVE_INFFILE_PROPS_KEY, "test");
diff -r 37df159d7f81 -r c937102a5510 builder/com.nokia.carbide.cdt.builder.test/src/com/nokia/carbide/cdt/builder/test/errorParsers/AllTests.java
--- a/builder/com.nokia.carbide.cdt.builder.test/src/com/nokia/carbide/cdt/builder/test/errorParsers/AllTests.java Sat Apr 25 12:50:39 2009 -0500
+++ b/builder/com.nokia.carbide.cdt.builder.test/src/com/nokia/carbide/cdt/builder/test/errorParsers/AllTests.java Sat Apr 25 12:54:10 2009 -0500
@@ -27,6 +27,9 @@
//$JUnit-BEGIN$
suite.addTestSuite(TestRVCTErrorParser.class);
suite.addTestSuite(TestMakmakeErrorParser.class);
+ suite.addTestSuite(TestSBSv2ErrorParser.class);
+ suite.addTestSuite(TestGcceErrorParser.class);
+ suite.addTestSuite(TestMakeErrorParser.class);
//$JUnit-END$
return suite;
}
diff -r 37df159d7f81 -r c937102a5510 builder/com.nokia.carbide.cdt.builder.test/src/com/nokia/carbide/cdt/builder/test/errorParsers/CarbideErrorParserTestHarness.java
--- a/builder/com.nokia.carbide.cdt.builder.test/src/com/nokia/carbide/cdt/builder/test/errorParsers/CarbideErrorParserTestHarness.java Sat Apr 25 12:50:39 2009 -0500
+++ b/builder/com.nokia.carbide.cdt.builder.test/src/com/nokia/carbide/cdt/builder/test/errorParsers/CarbideErrorParserTestHarness.java Sat Apr 25 12:54:10 2009 -0500
@@ -27,37 +27,32 @@
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintStream;
-import java.io.StringWriter;
import java.util.ArrayList;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.OutputKeys;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerConfigurationException;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
+import java.util.List;
import junit.framework.Assert;
import org.eclipse.cdt.core.ProblemMarkerInfo;
+import org.eclipse.cdt.core.model.ICModelMarker;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.w3c.dom.Comment;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.SAXException;
+import org.jdom.Attribute;
+import org.jdom.Comment;
+import org.jdom.DefaultJDOMFactory;
+import org.jdom.Document;
+import org.jdom.Element;
+import org.jdom.JDOMException;
+import org.jdom.filter.ElementFilter;
+import org.jdom.input.SAXBuilder;
+import org.jdom.output.Format;
+import org.jdom.output.XMLOutputter;
import com.nokia.carbide.cdt.builder.builder.CarbideCommandLauncher;
+import com.nokia.carbide.cdt.builder.test.TestPlugin;
+import com.nokia.cpp.internal.api.utils.core.FileUtils;
public class CarbideErrorParserTestHarness extends CarbideCommandLauncher {
static final String EMPTY = "^EMPTY^";
@@ -72,6 +67,7 @@
IProject project;
ArrayList ideProblemMarkerInfoList;
ArrayList xmlFilePromblemMarkerInfoList;
+ boolean debug = false;
public CarbideErrorParserTestHarness(IProject project,
IProgressMonitor monitor,
@@ -117,9 +113,15 @@
// pick out the stdout stream directly, where CDT error parser sniff
// for error messages from build console
try {
+ stdoutStream.getProject().deleteMarkers(ICModelMarker.C_MODEL_PROBLEM_MARKER, true, IResource.DEPTH_INFINITE); // clear UI list before we start
+ stdoutStream.clearScratchBuffer(); // some error parser do multiple lines
+ consoleOutput += "\n"; // force the input file to flush all lines
stdoutStream.write(consoleOutput.getBytes());
+ stdoutStream.flush();
} catch (IOException e) {
Assert.fail();
+ } catch (CoreException e) {
+ Assert.fail();
}
}
@@ -174,6 +176,16 @@
readControlXML(xmlInputStream);
if (ideProblemMarkerInfoList.size() != xmlFilePromblemMarkerInfoList.size()) {
+ if (debug) {
+ java.io.File file;
+ try {
+ file = FileUtils.pluginRelativeFile(TestPlugin.getDefault(), "data/currentOutput.xml");
+ writeRegressionXMLFile(new java.io.PrintStream(file));
+ } catch (IOException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
Assert.fail("IDE contains " + ideProblemMarkerInfoList.size() + " markers and Control file contains " + xmlFilePromblemMarkerInfoList.size());
return false;
}
@@ -252,18 +264,20 @@
// read control case from a XML file and setup internal list
public void readControlXML(InputStream xmlInputStream) {
try {
- DocumentBuilderFactory dbfac = DocumentBuilderFactory.newInstance();
- DocumentBuilder docBuilder;
- docBuilder = dbfac.newDocumentBuilder();
- Document doc = docBuilder.parse(xmlInputStream);
- doc.getDocumentElement().normalize();
+ SAXBuilder docBuilder = new SAXBuilder();
+ Document doc = docBuilder.build(xmlInputStream);
- NodeList markerNodeList = doc.getElementsByTagName(MARKER_INFO);
- int markerNodeListSize = markerNodeList.getLength();
+ Element root = doc.getRootElement();
+ ElementFilter elementFilter = new ElementFilter(MARKER_INFO);
+
+ List> allMarkerInfo = root.getContent(elementFilter);
xmlFilePromblemMarkerInfoList.clear();
- for (int i = 0; i < markerNodeListSize; i++) {
+ int markerInfoListSize = allMarkerInfo.size();
+
+ for (int i = 0; i < markerInfoListSize; i++) {
+ Object info = allMarkerInfo.get(i);
IResource file = null;
int lineNumber;
String description;
@@ -271,31 +285,29 @@
String variableName;
IPath externalPath;
- Node markerNode = markerNodeList.item(i);
- NamedNodeMap attributes = markerNode.getAttributes();
+ Assert.assertTrue(info instanceof Element);
+ Element markerInfo = (Element)info;
- Node locationNode = attributes.getNamedItem(LINE_NUMBER);
- lineNumber = Integer.parseInt(locationNode.getNodeValue());
+ Attribute locationNode = markerInfo.getAttribute(LINE_NUMBER);
+ lineNumber = Integer.parseInt(locationNode.getValue());
- Node messageNode = attributes.getNamedItem(MESSAGE);
- description = messageNode.getNodeValue();
+ Attribute messageNode = markerInfo.getAttribute(MESSAGE);
+ description = messageNode.getValue();
- Node severityNode = attributes.getNamedItem(SEVERITY);
- severity = Integer.parseInt(severityNode.getNodeValue());
+ Attribute severityNode = markerInfo.getAttribute(SEVERITY);
+ severity = Integer.parseInt(severityNode.getValue());
- Node variableNameNode = attributes.getNamedItem(VARIABLE_NAME);
- variableName = variableNameNode.getNodeValue();
+ Attribute variableNameNode = markerInfo.getAttribute(VARIABLE_NAME);
+ variableName = variableNameNode.getValue();
- Node externalPathStringNode = attributes.getNamedItem(EXTERNAL_PATH_STRING);
- externalPath = new Path(externalPathStringNode.getNodeValue());
+ Attribute externalPathStringNode = markerInfo.getAttribute(EXTERNAL_PATH_STRING);
+ externalPath = new org.eclipse.core.runtime.Path(externalPathStringNode.getValue());
ProblemMarkerInfo details = new ProblemMarkerInfo(file, lineNumber, description, severity, variableName, externalPath);
xmlFilePromblemMarkerInfoList.add(details);
}
- } catch (ParserConfigurationException e) {
- Assert.fail();
- } catch (SAXException e) {
+ } catch (JDOMException e) {
Assert.fail();
} catch (IOException e) {
Assert.fail();
@@ -312,29 +324,22 @@
*/
public void writeRegressionXMLFile(PrintStream printStream) {
try {
-
- // prepare XML tree
- DocumentBuilderFactory dbfac = DocumentBuilderFactory.newInstance();
- DocumentBuilder docBuilder;
-
- docBuilder = dbfac.newDocumentBuilder();
- Document doc = docBuilder.newDocument();
-
- Element root = doc.createElement("root");
- doc.appendChild(root);
+ DefaultJDOMFactory jdomFactory = new DefaultJDOMFactory();
+ Document jdomdoc = jdomFactory.document(jdomFactory.element("root"));
+ Element root = jdomdoc.getRootElement();
int index = 0;
-
- for (ProblemMarkerInfo marker : ideProblemMarkerInfoList)
- {
- Element child = doc.createElement(MARKER_INFO);
- Comment comment = doc.createComment("Error Marker at index " + index);
- ++index;
-
+ for (ProblemMarkerInfo marker : ideProblemMarkerInfoList)
+ {
+ Element child = jdomFactory.element(MARKER_INFO);
+ Comment comment = jdomFactory.comment("Error Marker at index " + index);
+ ++index;
+
/* CarbideCommandLauncher.addMarker() does not set file
file = marker.getAttribute(IMarker.LOCATION, 0);
child.setAttribute(LOCATION, new Integer(file).toString());
*/
+
child.setAttribute(FILE, EMPTY); // file
child.setAttribute(LINE_NUMBER, new Integer(marker.lineNumber).toString());
String description;
@@ -360,34 +365,21 @@
}
child.setAttribute(EXTERNAL_PATH_STRING, externalPathString);
- root.appendChild(comment);
- root.appendChild(child);
- }
+ root.addContent(comment);
+ root.addContent(child);
+ }
- // print
- TransformerFactory transfac = TransformerFactory.newInstance();
- Transformer trans = transfac.newTransformer();
- trans.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
- trans.setOutputProperty(OutputKeys.INDENT, "yes");
-
- // create string from xml tree
- StringWriter sw = new StringWriter();
- StreamResult result = new StreamResult(sw);
- DOMSource source = new DOMSource(doc);
- trans.transform(source, result);
- String xmlString = sw.toString();
+ // drop JAXP for JDOM
+ XMLOutputter outputter = new XMLOutputter(Format.getPrettyFormat());
+ outputter.output(jdomdoc, printStream);
// print xml
- printStream.println(xmlString);
printStream.flush();
printStream.close();
- } catch (ParserConfigurationException e) {
- Assert.fail();
- } catch (TransformerConfigurationException e) {
- Assert.fail();
- } catch (TransformerException e) {
- Assert.fail();
+ } catch (IOException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
}
}
diff -r 37df159d7f81 -r c937102a5510 builder/com.nokia.carbide.cdt.builder.test/src/com/nokia/carbide/cdt/builder/test/errorParsers/ErrorParserRegressionGenerator.java
--- a/builder/com.nokia.carbide.cdt.builder.test/src/com/nokia/carbide/cdt/builder/test/errorParsers/ErrorParserRegressionGenerator.java Sat Apr 25 12:50:39 2009 -0500
+++ b/builder/com.nokia.carbide.cdt.builder.test/src/com/nokia/carbide/cdt/builder/test/errorParsers/ErrorParserRegressionGenerator.java Sat Apr 25 12:54:10 2009 -0500
@@ -21,23 +21,30 @@
import java.util.ArrayList;
import java.util.List;
-import junit.framework.TestCase;
-
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.NullProgressMonitor;
+import com.nokia.carbide.automation.utils.UITestCase;
import com.nokia.carbide.cdt.builder.CarbideBuilderPlugin;
import com.nokia.carbide.cdt.builder.builder.CarbideCPPBuilder;
import com.nokia.carbide.cdt.builder.project.ICarbideBuildConfiguration;
import com.nokia.carbide.cdt.builder.project.ICarbideProjectInfo;
import com.nokia.carbide.cdt.builder.test.TestPlugin;
-import com.nokia.carbide.cpp.internal.api.sdk.SymbianBuildContext;
import com.nokia.carbide.cpp.project.core.ProjectCorePlugin;
-import com.nokia.carbide.cpp.sdk.core.*;
+import com.nokia.carbide.cpp.sdk.core.ISymbianBuildContext;
+import com.nokia.carbide.cpp.sdk.core.ISymbianSDK;
+import com.nokia.carbide.cpp.sdk.core.SDKCorePlugin;
import com.nokia.cpp.internal.api.utils.core.FileUtils;
-public class ErrorParserRegressionGenerator extends TestCase {
+public class ErrorParserRegressionGenerator extends UITestCase {
+ public ErrorParserRegressionGenerator(String name) {
+ super(name);
+ // TODO Auto-generated constructor stub
+ }
+
private static final String PROJECT_NAME = "TestErrorParser";
+ // Platform matters, set this before you build
+ private static final String PLATFORM_STRING = ISymbianBuildContext.EMULATOR_PLATFORM;
CarbideErrorParserTestHarness harness;
private IProject project;
@@ -46,11 +53,24 @@
super.setUp();
project = ProjectCorePlugin.createProject(PROJECT_NAME, null);
+ // look for first SDK with the platform
+ List contextList = new ArrayList();
// You need to set the proper default configuration so the correct set of error parsers is called
- ISymbianSDK sdk = SDKCorePlugin.getSDKManager().getSDKList().get(0);
- ISymbianBuildContext context = new SymbianBuildContext(sdk, ISymbianBuildContext.ARMV5_PLATFORM, ISymbianBuildContext.DEBUG_TARGET);
- List contextList = new ArrayList();
- contextList.add(context);
+ List sdkList = SDKCorePlugin.getSDKManager().getSDKList();
+ for (ISymbianSDK currSDK : sdkList){
+ List contexts = currSDK.getUnfilteredBuildConfigurations();
+ for (ISymbianBuildContext context : contexts) {
+ if (context.getPlatformString().equals(PLATFORM_STRING)) {
+ contextList.add(context);
+ break;
+ }
+ }
+ if (contextList.size() > 0) {
+ break;
+ }
+ }
+
+ assertTrue(contextList.size() > 0); // this means you don't have any SDK installe with the said platform
// ProjectCorePlugin.postProjectCreatedActions(project, "group/bld.inf",
// TestPlugin.getUsableBuildConfigs(), new ArrayList(),
diff -r 37df159d7f81 -r c937102a5510 builder/com.nokia.carbide.cdt.builder.test/src/com/nokia/carbide/cdt/builder/test/errorParsers/TestGcceErrorParser.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder.test/src/com/nokia/carbide/cdt/builder/test/errorParsers/TestGcceErrorParser.java Sat Apr 25 12:54:10 2009 -0500
@@ -0,0 +1,138 @@
+/*
+* Copyright (c) 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:
+*
+*/
+package com.nokia.carbide.cdt.builder.test.errorParsers;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.NullProgressMonitor;
+
+import com.nokia.carbide.automation.utils.UITestCase;
+import com.nokia.carbide.automation.utils.debugger.DebuggerTestCaseParameters;
+import com.nokia.carbide.cdt.builder.CarbideBuilderPlugin;
+import com.nokia.carbide.cdt.builder.builder.CarbideCPPBuilder;
+import com.nokia.carbide.cdt.builder.project.ICarbideBuildConfiguration;
+import com.nokia.carbide.cdt.builder.project.ICarbideProjectInfo;
+import com.nokia.carbide.cdt.builder.test.TestPlugin;
+import com.nokia.carbide.cpp.project.core.ProjectCorePlugin;
+import com.nokia.carbide.cpp.sdk.core.ISymbianBuildContext;
+import com.nokia.carbide.cpp.sdk.core.ISymbianSDK;
+import com.nokia.carbide.cpp.sdk.core.SDKCorePlugin;
+import com.nokia.cpp.internal.api.utils.core.FileUtils;
+
+public class TestGcceErrorParser extends UITestCase implements DebuggerTestCaseParameters {
+
+ public TestGcceErrorParser(String name) {
+ super(name);
+ // TODO Auto-generated constructor stub
+ }
+
+ private static final String PROJECT_NAME = "TestGcceErrorParser";
+ private static final String PROJECT_PATH = "group/bld.inf";
+
+ CarbideErrorParserTestHarness harness;
+ private IProject project;
+
+ protected void setUp() throws Exception {
+ super.setUp();
+ project = ProjectCorePlugin.createProject(PROJECT_NAME, null);
+ List contextList = new ArrayList();
+
+ // You need to set the proper default configuration so the correct set of error parsers is called
+ List sdkList = SDKCorePlugin.getSDKManager().getSDKList();
+ for (ISymbianSDK currSDK : sdkList){
+ List contexts = currSDK.getUnfilteredBuildConfigurations();
+ for (ISymbianBuildContext context : contexts) {
+ if (context.getPlatformString().equals(ISymbianBuildContext.GCCE_PLATFORM)) {
+ contextList.add(context);
+ break;
+ }
+ }
+ if (contextList.size() > 0) {
+ break;
+ }
+ }
+
+ assertTrue(contextList.size() > 0); // if this fail, you don't have any SDK installed supporting GCCE
+
+ ProjectCorePlugin.postProjectCreatedActions(project, PROJECT_PATH,
+ contextList, new ArrayList(),
+ "Debug MMP", null, new NullProgressMonitor());
+
+ ICarbideProjectInfo cpi = CarbideBuilderPlugin.getBuildManager().getProjectInfo(project);
+ ICarbideBuildConfiguration buildConfig = cpi.getDefaultConfiguration();
+ harness = new CarbideErrorParserTestHarness(project,
+ new NullProgressMonitor(),
+ CarbideCPPBuilder.getParserIdArray(buildConfig.getErrorParserId()),
+ cpi.getINFWorkingDirectory());
+ }
+
+ protected void tearDown() throws Exception {
+ project.delete(true, null);
+ super.tearDown();
+ }
+
+ /**
+ * Test for assembler errors/warnings
+ */
+ /*
+ public void testGnuAsMessages() {
+ //argument 1 is console output you get from the tool
+ //argument 2 is control XML with the marker data
+ try {
+ harness.parseStringAndTestAgainstXML(FileUtils.pluginRelativeFile(TestPlugin.getDefault(), "data/errorpatterns/gnu_as.input.txt"),
+ FileUtils.pluginRelativeFile(TestPlugin.getDefault(), "data/errorpatterns/gnu_as.regression.xml"));
+ } catch (IOException e) {
+ fail();
+ }
+ }
+ */
+
+ /*
+ * Test for AbstractGCCErrorParser
+ */
+ public void testAbstractGCCErrorParser() {
+ //argument 1 is console output you get from the tool
+ //argument 2 is control XML with the marker data
+ try {
+ harness.parseStringAndTestAgainstXML(FileUtils.pluginRelativeFile(TestPlugin.getDefault(), "data/errorpatterns/abstractgcce.input.txt"),
+ FileUtils.pluginRelativeFile(TestPlugin.getDefault(), "data/errorpatterns/abstractgcce.regression.xml"));
+ } catch (IOException e) {
+ fail();
+ }
+ }
+
+ /**
+ * Regress Bugzilla issues by entries
+ */
+ public void testBugzillaRegression() {
+ final String reportID[] = {"2969", "4541", "5618", "5824", "6417"};
+ //argument 1 is console output you get from the tool
+ //argument 2 is control XML with the marker data
+ try {
+ for (int i = 0; i < reportID.length; i++) {
+ harness.parseStringAndTestAgainstXML(FileUtils.pluginRelativeFile(TestPlugin.getDefault(), "data/errorpatterns/bugzilla/" + reportID[i] +".gcce.input.txt"),
+ FileUtils.pluginRelativeFile(TestPlugin.getDefault(), "data/errorpatterns/bugzilla/" + reportID[i] +".gcce.regression.xml"));
+ }
+ } catch (IOException e) {
+ fail();
+ }
+ }
+
+}
diff -r 37df159d7f81 -r c937102a5510 builder/com.nokia.carbide.cdt.builder.test/src/com/nokia/carbide/cdt/builder/test/errorParsers/TestMakeErrorParser.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder.test/src/com/nokia/carbide/cdt/builder/test/errorParsers/TestMakeErrorParser.java Sat Apr 25 12:54:10 2009 -0500
@@ -0,0 +1,107 @@
+/*
+* Copyright (c) 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:
+*
+*/
+package com.nokia.carbide.cdt.builder.test.errorParsers;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.NullProgressMonitor;
+
+import com.nokia.carbide.automation.utils.UITestCase;
+import com.nokia.carbide.cdt.builder.CarbideBuilderPlugin;
+import com.nokia.carbide.cdt.builder.builder.CarbideCPPBuilder;
+import com.nokia.carbide.cdt.builder.project.ICarbideBuildConfiguration;
+import com.nokia.carbide.cdt.builder.project.ICarbideProjectInfo;
+import com.nokia.carbide.cdt.builder.test.TestPlugin;
+import com.nokia.carbide.cpp.project.core.ProjectCorePlugin;
+import com.nokia.carbide.cpp.sdk.core.ISymbianBuildContext;
+import com.nokia.carbide.cpp.sdk.core.ISymbianSDK;
+import com.nokia.carbide.cpp.sdk.core.SDKCorePlugin;
+import com.nokia.cpp.internal.api.utils.core.FileUtils;
+
+public class TestMakeErrorParser extends UITestCase {
+
+ public TestMakeErrorParser(String name) {
+ super(name);
+ // TODO Auto-generated constructor stub
+ }
+
+ CarbideErrorParserTestHarness harness;
+ private IProject project;
+
+ private static final String PROJECT_NAME = "TestGcceErrorParser";
+ private static final String PROJECT_PATH = "group/bld.inf";
+
+ protected void setUp() throws Exception {
+ super.setUp();
+ project = ProjectCorePlugin.createProject(PROJECT_NAME, null);
+ List contextList = new ArrayList();
+
+ // You need to set the proper default configuration so the correct set of error parsers is called
+ List sdkList = SDKCorePlugin.getSDKManager().getSDKList();
+ for (ISymbianSDK currSDK : sdkList){
+ List contexts = currSDK.getUnfilteredBuildConfigurations();
+ for (ISymbianBuildContext context : contexts) {
+ if (context.getPlatformString().equals(ISymbianBuildContext.EMULATOR_PLATFORM)) {
+ contextList.add(context);
+ break;
+ }
+ }
+ if (contextList.size() > 0) {
+ break;
+ }
+ }
+
+ assertTrue(contextList.size() > 0); // if this fail, you don't have any SDK installed supporting GCCE
+
+ ProjectCorePlugin.postProjectCreatedActions(project, PROJECT_PATH,
+ contextList, new ArrayList(),
+ "Debug MMP", null, new NullProgressMonitor());
+
+ ICarbideProjectInfo cpi = CarbideBuilderPlugin.getBuildManager().getProjectInfo(project);
+ ICarbideBuildConfiguration buildConfig = cpi.getDefaultConfiguration();
+ harness = new CarbideErrorParserTestHarness(project,
+ new NullProgressMonitor(),
+ CarbideCPPBuilder.getParserIdArray(buildConfig.getErrorParserId()),
+ cpi.getINFWorkingDirectory());
+ }
+
+ protected void tearDown() throws Exception {
+ project.delete(true, null);
+ super.tearDown();
+ }
+
+ /**
+ * Regress Bugzilla issues by entries
+ */
+ public void testBugzillaRegression() {
+ final String reportID[] = {"3201", "3134", "3490", "6415"};
+ //argument 1 is console output you get from the tool
+ //argument 2 is control XML with the marker data
+ try {
+ for (int i = 0; i < reportID.length; i++) {
+ harness.parseStringAndTestAgainstXML(FileUtils.pluginRelativeFile(TestPlugin.getDefault(), "data/errorpatterns/bugzilla/" + reportID[i] +".winscw.input.txt"),
+ FileUtils.pluginRelativeFile(TestPlugin.getDefault(), "data/errorpatterns/bugzilla/" + reportID[i] +".winscw.regression.xml"));
+ }
+ } catch (IOException e) {
+ fail();
+ }
+ }
+
+}
diff -r 37df159d7f81 -r c937102a5510 builder/com.nokia.carbide.cdt.builder.test/src/com/nokia/carbide/cdt/builder/test/errorParsers/TestMakmakeErrorParser.java
--- a/builder/com.nokia.carbide.cdt.builder.test/src/com/nokia/carbide/cdt/builder/test/errorParsers/TestMakmakeErrorParser.java Sat Apr 25 12:50:39 2009 -0500
+++ b/builder/com.nokia.carbide.cdt.builder.test/src/com/nokia/carbide/cdt/builder/test/errorParsers/TestMakmakeErrorParser.java Sat Apr 25 12:54:10 2009 -0500
@@ -21,6 +21,8 @@
import java.util.ArrayList;
import java.util.List;
+import junit.framework.TestCase;
+
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.NullProgressMonitor;
@@ -29,18 +31,15 @@
import com.nokia.carbide.cdt.builder.project.ICarbideBuildConfiguration;
import com.nokia.carbide.cdt.builder.project.ICarbideProjectInfo;
import com.nokia.carbide.cdt.builder.test.TestPlugin;
-import com.nokia.carbide.cpp.internal.api.sdk.SymbianBuildContext;
import com.nokia.carbide.cpp.project.core.ProjectCorePlugin;
-import com.nokia.carbide.cpp.sdk.core.*;
+import com.nokia.carbide.cpp.sdk.core.ISymbianBuildContext;
+import com.nokia.carbide.cpp.sdk.core.ISymbianSDK;
+import com.nokia.carbide.cpp.sdk.core.SDKCorePlugin;
import com.nokia.cpp.internal.api.utils.core.FileUtils;
-import junit.framework.TestCase;
-
public class TestMakmakeErrorParser extends TestCase {
private static final String PROJECT_NAME = "TestMakmakeErrorParser";
private static final String PROJECT_PATH = "group/bld.inf";
- private static final String SDK_ID_UPPER_CASE = "S60_3RD_MR"; // ID of the SDK we want to use to create build configurations
-
private static final String TEST_DATA_INPUT_FILE = "data/errorpatterns/makmake.errors.input.1.txt";
private static final String CONTROL_DATA_FILE = "data/errorpatterns/makmake.errors.regression.1.xml";
@@ -50,23 +49,23 @@
protected void setUp() throws Exception {
super.setUp();
project = ProjectCorePlugin.createProject(PROJECT_NAME, null);
+ List contextList = new ArrayList();
// You need to set the proper default configuration so the correct set of error parsers is called
List sdkList = SDKCorePlugin.getSDKManager().getSDKList();
- ISymbianSDK sdk = null;
for (ISymbianSDK currSDK : sdkList){
- if (currSDK.getUniqueId().toUpperCase().equals(SDK_ID_UPPER_CASE)){
- sdk = currSDK;
+ List contexts = currSDK.getUnfilteredBuildConfigurations();
+ for (ISymbianBuildContext context : contexts) {
+ if (context.getPlatformString().equals(ISymbianBuildContext.ARMV5_PLATFORM)) {
+ contextList.add(context);
+ break;
+ }
+ }
+ if (contextList.size() > 0) {
break;
}
}
- assertNotNull(sdk);
-
- ISymbianBuildContext context = new SymbianBuildContext(sdk, ISymbianBuildContext.ARMV5_PLATFORM, ISymbianBuildContext.DEBUG_TARGET);
- List contextList = new ArrayList();
- contextList.add(context);
-
// Don't do this... Because it will just default to WINSCW target
// ProjectCorePlugin.postProjectCreatedActions(project, "group/bld.inf",
// TestPlugin.getUsableBuildConfigs(), new ArrayList(),
diff -r 37df159d7f81 -r c937102a5510 builder/com.nokia.carbide.cdt.builder.test/src/com/nokia/carbide/cdt/builder/test/errorParsers/TestRVCTErrorParser.java
--- a/builder/com.nokia.carbide.cdt.builder.test/src/com/nokia/carbide/cdt/builder/test/errorParsers/TestRVCTErrorParser.java Sat Apr 25 12:50:39 2009 -0500
+++ b/builder/com.nokia.carbide.cdt.builder.test/src/com/nokia/carbide/cdt/builder/test/errorParsers/TestRVCTErrorParser.java Sat Apr 25 12:54:10 2009 -0500
@@ -21,6 +21,8 @@
import java.util.ArrayList;
import java.util.List;
+import junit.framework.TestCase;
+
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.NullProgressMonitor;
@@ -29,18 +31,15 @@
import com.nokia.carbide.cdt.builder.project.ICarbideBuildConfiguration;
import com.nokia.carbide.cdt.builder.project.ICarbideProjectInfo;
import com.nokia.carbide.cdt.builder.test.TestPlugin;
-import com.nokia.carbide.cpp.internal.api.sdk.SymbianBuildContext;
import com.nokia.carbide.cpp.project.core.ProjectCorePlugin;
-import com.nokia.carbide.cpp.sdk.core.*;
+import com.nokia.carbide.cpp.sdk.core.ISymbianBuildContext;
+import com.nokia.carbide.cpp.sdk.core.ISymbianSDK;
+import com.nokia.carbide.cpp.sdk.core.SDKCorePlugin;
import com.nokia.cpp.internal.api.utils.core.FileUtils;
-import junit.framework.TestCase;
-
public class TestRVCTErrorParser extends TestCase {
private static final String PROJECT_NAME = "TestRVCTErrorParser";
private static final String PROJECT_PATH = "group/bld.inf";
- private static final String SDK_ID_UPPER_CASE = "S60_3RD_MR"; // ID of the SDK we want to use to create build configurations
-
private static final String TEST_DATA_INPUT_FILE = "data/errorpatterns/rvct.errors.input.1.txt";
private static final String CONTROL_DATA_FILE = "data/errorpatterns/rvct.errors.regression.1.xml";
@@ -50,22 +49,24 @@
protected void setUp() throws Exception {
super.setUp();
project = ProjectCorePlugin.createProject(PROJECT_NAME, null);
+ List contextList = new ArrayList();
// You need to set the proper default configuration so the correct set of error parsers is called
List sdkList = SDKCorePlugin.getSDKManager().getSDKList();
- ISymbianSDK sdk = null;
for (ISymbianSDK currSDK : sdkList){
- if (currSDK.getUniqueId().toUpperCase().equals(SDK_ID_UPPER_CASE)){
- sdk = currSDK;
+ List contexts = currSDK.getUnfilteredBuildConfigurations();
+ for (ISymbianBuildContext context : contexts) {
+ if (context.getPlatformString().equals(ISymbianBuildContext.ARMV5_PLATFORM)) {
+ contextList.add(context);
+ break;
+ }
+ }
+ if (contextList.size() > 0) {
break;
}
}
- assertNotNull(sdk);
-
- ISymbianBuildContext context = new SymbianBuildContext(sdk, ISymbianBuildContext.ARMV5_PLATFORM, ISymbianBuildContext.DEBUG_TARGET);
- List contextList = new ArrayList();
- contextList.add(context);
+ assertTrue(contextList.size() > 0); // if this fail, you don't have any SDK installed supporting GCCE
// Don't do this... Because it will just default to WINSCW target
// ProjectCorePlugin.postProjectCreatedActions(project, "group/bld.inf",
@@ -114,4 +115,22 @@
fail();
}
}
+
+ /**
+ * Regress Bugzilla issues by entries
+ */
+ public void testBugzillaRegression() {
+ final String reportID[] = {"3053"};
+ //argument 1 is console output you get from the tool
+ //argument 2 is control XML with the marker data
+ try {
+ for (int i = 0; i < reportID.length; i++) {
+ harness.parseStringAndTestAgainstXML(FileUtils.pluginRelativeFile(TestPlugin.getDefault(), "data/errorpatterns/bugzilla/" + reportID[i] +".rvct.input.txt"),
+ FileUtils.pluginRelativeFile(TestPlugin.getDefault(), "data/errorpatterns/bugzilla/" + reportID[i] +".rvct.regression.xml"));
+ }
+ } catch (IOException e) {
+ fail();
+ }
+ }
+
}
diff -r 37df159d7f81 -r c937102a5510 builder/com.nokia.carbide.cdt.builder.test/src/com/nokia/carbide/cdt/builder/test/errorParsers/TestSBSv2ErrorParser.java
--- a/builder/com.nokia.carbide.cdt.builder.test/src/com/nokia/carbide/cdt/builder/test/errorParsers/TestSBSv2ErrorParser.java Sat Apr 25 12:50:39 2009 -0500
+++ b/builder/com.nokia.carbide.cdt.builder.test/src/com/nokia/carbide/cdt/builder/test/errorParsers/TestSBSv2ErrorParser.java Sat Apr 25 12:54:10 2009 -0500
@@ -21,6 +21,8 @@
import java.util.ArrayList;
import java.util.List;
+import junit.framework.TestCase;
+
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.NullProgressMonitor;
@@ -29,18 +31,15 @@
import com.nokia.carbide.cdt.builder.project.ICarbideBuildConfiguration;
import com.nokia.carbide.cdt.builder.project.ICarbideProjectInfo;
import com.nokia.carbide.cdt.builder.test.TestPlugin;
-import com.nokia.carbide.cpp.internal.api.sdk.SymbianBuildContext;
import com.nokia.carbide.cpp.project.core.ProjectCorePlugin;
-import com.nokia.carbide.cpp.sdk.core.*;
+import com.nokia.carbide.cpp.sdk.core.ISymbianBuildContext;
+import com.nokia.carbide.cpp.sdk.core.ISymbianSDK;
+import com.nokia.carbide.cpp.sdk.core.SDKCorePlugin;
import com.nokia.cpp.internal.api.utils.core.FileUtils;
-import junit.framework.TestCase;
-
public class TestSBSv2ErrorParser extends TestCase {
private static final String PROJECT_NAME = "TestSBSv2ErrorParser";
private static final String PROJECT_PATH = "group/bld.inf";
- private static final String SDK_ID_UPPER_CASE = "SYMBIANOS_95_200906"; // ID of the SDK we want to use to create build configurations
-
private static final String TEST_DATA_INPUT_FILE = "data/errorpatterns/sbsv2.errors.input.txt";
private static final String CONTROL_DATA_FILE = "data/errorpatterns/sbsv2.errors.regression.xml";
@@ -50,23 +49,23 @@
protected void setUp() throws Exception {
super.setUp();
project = ProjectCorePlugin.createProject(PROJECT_NAME, null);
+ List contextList = new ArrayList();
// You need to set the proper default configuration so the correct set of error parsers is called
List sdkList = SDKCorePlugin.getSDKManager().getSDKList();
- ISymbianSDK sdk = null;
for (ISymbianSDK currSDK : sdkList){
- if (currSDK.getUniqueId().toUpperCase().equals(SDK_ID_UPPER_CASE)){
- sdk = currSDK;
+ List contexts = currSDK.getUnfilteredBuildConfigurations();
+ for (ISymbianBuildContext context : contexts) {
+ if (context.getPlatformString().equals(ISymbianBuildContext.ARMV5_PLATFORM)) {
+ contextList.add(context);
+ break;
+ }
+ }
+ if (contextList.size() > 0) {
break;
}
}
- assertNotNull(sdk);
-
- ISymbianBuildContext context = new SymbianBuildContext(sdk, ISymbianBuildContext.ARMV5_PLATFORM, ISymbianBuildContext.DEBUG_TARGET);
- List contextList = new ArrayList();
- contextList.add(context);
-
// Don't do this... Because it will just default to WINSCW target
// ProjectCorePlugin.postProjectCreatedActions(project, "group/bld.inf",
// TestPlugin.getUsableBuildConfigs(), new ArrayList(),
diff -r 37df159d7f81 -r c937102a5510 builder/com.nokia.carbide.cdt.builder/plugin.xml
--- a/builder/com.nokia.carbide.cdt.builder/plugin.xml Sat Apr 25 12:50:39 2009 -0500
+++ b/builder/com.nokia.carbide.cdt.builder/plugin.xml Sat Apr 25 12:54:10 2009 -0500
@@ -160,11 +160,27 @@
+ class="com.nokia.carbide.cdt.internal.builder.error.parsers.GCCEAssemblerErrorParser">
+
+
+
+
+
+
+
+
getSISBuilderInfoList();
/**
- * Get the build arguments info. Contains pref settings from the Arguments tab.
+ * Get the (abld)build arguments info. Contains pref settings from the Arguments tab.
+ * This only applies when building with SBSv1 (bldmake, abld)
+ * @return IBuildArgumentsInfo instance, never null
+ *
+ * @deprecated use
+ */
+ IBuildArgumentsInfo getBuildArgumentsInfo();
+
+ /**
+ * Get the (abld)build arguments info. Contains pref settings from the Arguments tab.
+ * This only applies when building with SBSv1 (bldmake, abld)
+ * @return A copy of BuildArgumentsInfo instance, never null
+ */
+ BuildArgumentsInfo getBuildArgumentsInfoCopy();
+
+ /**
+ * Set the build arguments info for SBSv2 build arguments. This only sets values in memory, does
+ * not write settings to disk. See
* @return IBuildArgumentsInfo instance, never null
*/
- IBuildArgumentsInfo getBuildArgumentsInfo();
+ void setBuildArgumentsInfo(BuildArgumentsInfo bldArgInfo);
/**
* Get the parent Carbide project of this configuration.
@@ -104,5 +123,10 @@
* @return
*/
IROMBuilderInfo getROMBuildInfo();
-
+
+ /**
+ * Compares two configurations to see if their display names are equivalent.
+ */
+ boolean equals(Object obj);
+
}
diff -r 37df159d7f81 -r c937102a5510 builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/api/builder/CarbideConfigurationDataProvider.java
--- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/api/builder/CarbideConfigurationDataProvider.java Sat Apr 25 12:50:39 2009 -0500
+++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/api/builder/CarbideConfigurationDataProvider.java Sat Apr 25 12:54:10 2009 -0500
@@ -40,13 +40,13 @@
import org.eclipse.core.runtime.jobs.ISchedulingRule;
import org.eclipse.core.runtime.jobs.Job;
+import com.nokia.carbide.cdt.builder.BuildArgumentsInfo;
import com.nokia.carbide.cdt.builder.CarbideBuilderPlugin;
import com.nokia.carbide.cdt.builder.project.ICarbideBuildConfiguration;
import com.nokia.carbide.cdt.builder.project.ICarbideProjectInfo;
import com.nokia.carbide.cdt.builder.project.ICarbideProjectModifier;
import com.nokia.carbide.cdt.builder.project.IEnvironmentVariable;
import com.nokia.carbide.cdt.builder.project.IEnvironmentVarsInfo;
-import com.nokia.carbide.cdt.internal.builder.BuildArgumentsInfo;
import com.nokia.carbide.cdt.internal.builder.BuildConfigurationData;
import com.nokia.carbide.cdt.internal.builder.CarbideBuildConfiguration;
import com.nokia.carbide.cdt.internal.builder.CarbideProjectInfo;
diff -r 37df159d7f81 -r c937102a5510 builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/CarbideBuildConfiguration.java
--- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/CarbideBuildConfiguration.java Sat Apr 25 12:50:39 2009 -0500
+++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/CarbideBuildConfiguration.java Sat Apr 25 12:54:10 2009 -0500
@@ -32,6 +32,7 @@
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.core.runtime.Status;
+import com.nokia.carbide.cdt.builder.BuildArgumentsInfo;
import com.nokia.carbide.cdt.builder.CarbideBuilderPlugin;
import com.nokia.carbide.cdt.builder.builder.CarbideCPPBuilder;
import com.nokia.carbide.cdt.builder.project.IBuildArgumentsInfo;
@@ -91,7 +92,7 @@
} else if (se.getName().equals(ENV_VAR_DATA_ID)) {
envVarsInfo.loadFromStorage(se);
} else if (se.getName().equals(ARGUMENTS_DATA_ID)) {
- buildArgumentsInfo.loadFromStorage(se);
+ loadBuildArgsFromStorage(se);
} else if (se.getName().equals(ROM_BUILDER_DATA_ID)) {
romBuilderInfo.loadFromStorage(se);
}
@@ -112,11 +113,114 @@
}
envVarsInfo.saveToStorage(rootStorage.createChild(ENV_VAR_DATA_ID));
- buildArgumentsInfo.saveToStorage(rootStorage.createChild(ARGUMENTS_DATA_ID));
+ saveBuildArgsToStorage(rootStorage.createChild(ARGUMENTS_DATA_ID));
romBuilderInfo.saveToStorage(rootStorage.createChild(ROM_BUILDER_DATA_ID));
}
}
+
+ private void loadBuildArgsFromStorage(ICStorageElement rootStorage) {
+ String value = rootStorage.getAttribute(BuildArgumentsInfo.BLDMAKEBLDFILESARGSSTORAGE);
+ if (value != null) {
+ buildArgumentsInfo.bldmakeBldFilesArgs = value;
+ }
+
+ value = rootStorage.getAttribute(BuildArgumentsInfo.BLDMAKECLEANARGSSTORAGE);
+ if (value != null) {
+ buildArgumentsInfo.bldmakeCleanArgs = value;
+ }
+ value = rootStorage.getAttribute(BuildArgumentsInfo.ABLDBUILDARGSSTORAGE);
+ if (value != null) {
+ buildArgumentsInfo.abldBuildArgs = value;
+ }
+
+ value = rootStorage.getAttribute(BuildArgumentsInfo.ABLDEXPORTARGSSTORAGE);
+ if (value != null) {
+ buildArgumentsInfo.abldExportArgs = value;
+ }
+
+ value = rootStorage.getAttribute(BuildArgumentsInfo.ABLDMAKEFILEARGSSTORAGE);
+ if (value != null) {
+ buildArgumentsInfo.abldMakefileArgs = value;
+ }
+
+ value = rootStorage.getAttribute(BuildArgumentsInfo.ABLDLIBRARYARGSSTORAGE);
+ if (value != null) {
+ buildArgumentsInfo.abldLibraryArgs = value;
+ }
+
+ value = rootStorage.getAttribute(BuildArgumentsInfo.ABLDRESOURCEARGSSTORAGE);
+ if (value != null) {
+ buildArgumentsInfo.abldResourceArgs = value;
+ }
+
+ value = rootStorage.getAttribute(BuildArgumentsInfo.ABLDTARGETARGSSTORAGE);
+ if (value != null) {
+ buildArgumentsInfo.abldTargetArgs = value;
+ }
+
+ value = rootStorage.getAttribute(BuildArgumentsInfo.ABLDFINALARGSSTORAGE);
+ if (value != null) {
+ buildArgumentsInfo.abldFinalArgs = value;
+ }
+
+ value = rootStorage.getAttribute(BuildArgumentsInfo.ABLDCLEANARGSSTORAGE);
+ if (value != null) {
+ buildArgumentsInfo.abldCleanArgs = value;
+ }
+
+ value = rootStorage.getAttribute(BuildArgumentsInfo.ABLDFREEZEARGSSTORAGE);
+ if (value != null) {
+ buildArgumentsInfo.abldFreezeArgs = value;
+ }
+ }
+
+ public void saveBuildArgsToStorage(ICStorageElement rootStorage) {
+ if (buildArgumentsInfo.bldmakeBldFilesArgs.trim().length() > 0) {
+ rootStorage.setAttribute(BuildArgumentsInfo.BLDMAKEBLDFILESARGSSTORAGE, buildArgumentsInfo.bldmakeBldFilesArgs);
+ }
+
+ if (buildArgumentsInfo.bldmakeCleanArgs.trim().length() > 0) {
+ rootStorage.setAttribute(BuildArgumentsInfo.BLDMAKECLEANARGSSTORAGE, buildArgumentsInfo.bldmakeCleanArgs);
+ }
+
+ if (buildArgumentsInfo.abldBuildArgs.trim().length() > 0) {
+ rootStorage.setAttribute(BuildArgumentsInfo.ABLDBUILDARGSSTORAGE, buildArgumentsInfo.abldBuildArgs);
+ }
+
+ if (buildArgumentsInfo.abldExportArgs.trim().length() > 0) {
+ rootStorage.setAttribute(BuildArgumentsInfo.ABLDEXPORTARGSSTORAGE, buildArgumentsInfo.abldExportArgs);
+ }
+
+ if (buildArgumentsInfo.abldMakefileArgs.trim().length() > 0) {
+ rootStorage.setAttribute(BuildArgumentsInfo.ABLDMAKEFILEARGSSTORAGE, buildArgumentsInfo.abldMakefileArgs);
+ }
+
+ if (buildArgumentsInfo.abldLibraryArgs.trim().length() > 0) {
+ rootStorage.setAttribute(BuildArgumentsInfo.ABLDLIBRARYARGSSTORAGE, buildArgumentsInfo.abldLibraryArgs);
+ }
+
+ if (buildArgumentsInfo.abldResourceArgs.trim().length() > 0) {
+ rootStorage.setAttribute(BuildArgumentsInfo.ABLDRESOURCEARGSSTORAGE, buildArgumentsInfo.abldResourceArgs);
+ }
+
+ if (buildArgumentsInfo.abldTargetArgs.trim().length() > 0) {
+ rootStorage.setAttribute(BuildArgumentsInfo.ABLDTARGETARGSSTORAGE, buildArgumentsInfo.abldTargetArgs);
+ }
+
+ if (buildArgumentsInfo.abldFinalArgs.trim().length() > 0) {
+ rootStorage.setAttribute(BuildArgumentsInfo.ABLDFINALARGSSTORAGE, buildArgumentsInfo.abldFinalArgs);
+ }
+
+ if (buildArgumentsInfo.abldCleanArgs.trim().length() > 0) {
+ rootStorage.setAttribute(BuildArgumentsInfo.ABLDCLEANARGSSTORAGE, buildArgumentsInfo.abldCleanArgs);
+ }
+
+ if (buildArgumentsInfo.abldFreezeArgs.trim().length() > 0) {
+ rootStorage.setAttribute(BuildArgumentsInfo.ABLDFREEZEARGSSTORAGE, buildArgumentsInfo.abldFreezeArgs);
+ }
+ }
+
public ICarbideProjectInfo getCarbideProject() {
// we need to get the project info from the build manager to ensure we
// have the correct object.
@@ -166,10 +270,6 @@
}
}
- @Override
- /**
- * Compares two configurations to see if their display names are equivalent
- */
public boolean equals(Object obj) {
if (obj instanceof ICarbideBuildConfiguration || obj instanceof ISymbianBuildContext){
ISymbianBuildContext context = (ISymbianBuildContext)obj;
@@ -260,13 +360,15 @@
}
public IBuildArgumentsInfo getBuildArgumentsInfo() {
- return buildArgumentsInfo;
+ return (IBuildArgumentsInfo)buildArgumentsInfo;
}
- public void setBuildArgumentsInfo(IBuildArgumentsInfo buildArgumentsInfo) {
- if (buildArgumentsInfo instanceof BuildArgumentsInfo) {
- this.buildArgumentsInfo = (BuildArgumentsInfo)buildArgumentsInfo;
- }
+ public BuildArgumentsInfo getBuildArgumentsInfoCopy() {
+ return new BuildArgumentsInfo(buildArgumentsInfo);
+ }
+
+ public void setBuildArgumentsInfo(BuildArgumentsInfo buildArgumentsInfo) {
+ this.buildArgumentsInfo = buildArgumentsInfo;
}
public IROMBuilderInfo getROMBuildInfo() {
diff -r 37df159d7f81 -r c937102a5510 builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/CarbideSBSv1Builder.java
--- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/CarbideSBSv1Builder.java Sat Apr 25 12:50:39 2009 -0500
+++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/CarbideSBSv1Builder.java Sat Apr 25 12:54:10 2009 -0500
@@ -189,7 +189,7 @@
}
// run abld makefile platform for each component to be built if needed
- if (!generateAbldMakefileIfNecessary(buildConfig, launcher, componentPath, isTest)) {
+ if (!generateAbldMakefileIfNecessary(buildConfig, launcher, componentPath, isTest, progress)) {
return false;
}
@@ -337,7 +337,7 @@
progress.setTaskName("Cleaning " + componentName);
// run abld makefile platform for each component to be built if needed
- if (!generateAbldMakefileIfNecessary(buildConfig, launcher, componentPath, isTest)) {
+ if (!generateAbldMakefileIfNecessary(buildConfig, launcher, componentPath, isTest, progress)) {
return false;
}
@@ -390,7 +390,7 @@
String componentName = componentPath.removeFileExtension().lastSegment();
// run abld makefile platform for each component to be built if needed
- if (!generateAbldMakefileIfNecessary(buildConfig, launcher, componentPath, isTest)) {
+ if (!generateAbldMakefileIfNecessary(buildConfig, launcher, componentPath, isTest, monitor)) {
return false;
}
@@ -483,7 +483,7 @@
return;
}
- if (!generateAbldMakefileIfNecessary(buildConfig, launcher, fullMMPPath, isTest)) {
+ if (!generateAbldMakefileIfNecessary(buildConfig, launcher, fullMMPPath, isTest, monitor)) {
return;
}
@@ -936,7 +936,7 @@
}
// run abld makefile platform for each component to be built if needed
- if (!CarbideCPPBuilder.generateAbldMakefilesIfNecessary(buildConfig, launcher, false)) {
+ if (!CarbideCPPBuilder.generateAbldMakefilesIfNecessary(buildConfig, launcher, false, progress)) {
return false;
}
@@ -1251,7 +1251,7 @@
}
// run abld makefile platform for each component to be built if needed
- if (!CarbideCPPBuilder.generateAbldMakefilesIfNecessary(buildConfig, launcher, false)) {
+ if (!CarbideCPPBuilder.generateAbldMakefilesIfNecessary(buildConfig, launcher, false, progress)) {
return false;
}
@@ -1477,7 +1477,7 @@
return;
}
- if (!CarbideCPPBuilder.generateAbldMakefilesIfNecessary(buildConfig, launcher, false)) {
+ if (!CarbideCPPBuilder.generateAbldMakefilesIfNecessary(buildConfig, launcher, false, progress)) {
return;
}
@@ -1575,7 +1575,7 @@
return;
}
- if (!CarbideCPPBuilder.generateAbldMakefilesIfNecessary(buildConfig, launcher, false)) {
+ if (!CarbideCPPBuilder.generateAbldMakefilesIfNecessary(buildConfig, launcher, false, progress)) {
return;
}
@@ -1679,7 +1679,7 @@
return;
}
- if (!CarbideCPPBuilder.generateAbldMakefilesIfNecessary(buildConfig, launcher, false)) {
+ if (!CarbideCPPBuilder.generateAbldMakefilesIfNecessary(buildConfig, launcher, false, progress)) {
return;
}
@@ -1748,7 +1748,7 @@
return;
}
- if (!CarbideCPPBuilder.generateAbldMakefilesIfNecessary(buildConfig, launcher, false)) {
+ if (!CarbideCPPBuilder.generateAbldMakefilesIfNecessary(buildConfig, launcher, false, progress)) {
return;
}
@@ -2200,6 +2200,11 @@
}
public boolean generateAbldMakefileIfNecessary(ICarbideBuildConfiguration config, CarbideCommandLauncher launcher, IPath componentPath, boolean isTest) {
+ return generateAbldMakefileIfNecessary(config, launcher, componentPath, isTest, new NullProgressMonitor());
+ }
+
+
+ public boolean generateAbldMakefileIfNecessary(ICarbideBuildConfiguration config, CarbideCommandLauncher launcher, IPath componentPath, boolean isTest, IProgressMonitor progress) {
// generate the makefile if necessary
if (needsAbldMakefileGeneration(config, componentPath)) {
@@ -2249,7 +2254,7 @@
// now make our changes to the generated makefile
if (areWeManagingTheMakeFiles) {
try {
- updateMakefile(config, componentPath);
+ updateMakefile(config, componentPath, progress);
} catch (CoreException e) {
CarbideBuilderPlugin.log(e);
e.printStackTrace();
@@ -2434,12 +2439,16 @@
return makefilePath.toFile();
}
- protected void updateMakefile(ICarbideBuildConfiguration config, IPath componentPath) throws CoreException {
+ protected void updateMakefile(ICarbideBuildConfiguration config, IPath componentPath, IProgressMonitor progress) throws CoreException {
// ignore extension makefiles.
if (isExtensionMakefile(componentPath)) {
return;
}
+ if (progress.isCanceled()) {
+ return;
+ }
+
File makefile = getMakefileForMMP(config, componentPath);
if (!makefile.exists()) {
throw new CoreException(new Status(IStatus.ERROR, CarbideBuilderPlugin.PLUGIN_ID, 0, "Makefile " + makefile.getAbsolutePath() + " doesn't exist.", null)); //$NON-NLS-1$
diff -r 37df159d7f81 -r c937102a5510 builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/CarbideSBSv2Builder.java
--- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/CarbideSBSv2Builder.java Sat Apr 25 12:50:39 2009 -0500
+++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/CarbideSBSv2Builder.java Sat Apr 25 12:54:10 2009 -0500
@@ -450,6 +450,10 @@
}
}
+ public boolean generateAbldMakefileIfNecessary(ICarbideBuildConfiguration config, CarbideCommandLauncher launcher, IPath componentPath, boolean isTest, IProgressMonitor progress) {
+ return true;
+ }
+
public boolean generateAbldMakefileIfNecessary(ICarbideBuildConfiguration config, CarbideCommandLauncher launcher, IPath componentPath, boolean isTest) {
return true;
}
diff -r 37df159d7f81 -r c937102a5510 builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/EnvironmentVarsInfo2.java
--- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/EnvironmentVarsInfo2.java Sat Apr 25 12:50:39 2009 -0500
+++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/EnvironmentVarsInfo2.java Sat Apr 25 12:54:10 2009 -0500
@@ -300,7 +300,10 @@
if (System.getenv(EPOCROOT) == null) {
String epocRootStr = epocRoot.toOSString();
if (epocRootStr.indexOf(":") == 1) {
- epocRootStr = epocRootStr.substring(2);
+ // only strip the drive for SBSv1
+ if (!CarbideBuilderPlugin.getBuildManager().isCarbideSBSv2Project(projectTracker.getProject())) {
+ epocRootStr = epocRootStr.substring(2);
+ }
}
returnEnvArray = addToArray(returnEnvArray, EPOCROOT + EQUALS + epocRootStr);
diff -r 37df159d7f81 -r c937102a5510 builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/ICarbideBuilder.java
--- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/ICarbideBuilder.java Sat Apr 25 12:50:39 2009 -0500
+++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/ICarbideBuilder.java Sat Apr 25 12:54:10 2009 -0500
@@ -58,8 +58,12 @@
public String [] getResolvedEnvVars(ICarbideBuildConfiguration config);
public boolean needsBldmakeMakefileGeneration(ICarbideBuildConfiguration config);
+
+ @Deprecated
+ public boolean generateAbldMakefileIfNecessary(ICarbideBuildConfiguration config, CarbideCommandLauncher launcher, IPath componentPath, boolean isTest);
+
+ public boolean generateAbldMakefileIfNecessary(ICarbideBuildConfiguration config, CarbideCommandLauncher launcher, IPath componentPath, boolean isTest, IProgressMonitor progress);
- public boolean generateAbldMakefileIfNecessary(ICarbideBuildConfiguration config, CarbideCommandLauncher launcher, IPath componentPath, boolean isTest);
public IPath getMakefileDirectory(ICarbideBuildConfiguration config);
}
diff -r 37df159d7f81 -r c937102a5510 builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/error/parsers/AbstractGCCEErrorParser.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/error/parsers/AbstractGCCEErrorParser.java Sat Apr 25 12:54:10 2009 -0500
@@ -0,0 +1,80 @@
+/*
+* Copyright (c) 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:
+*
+* Handles GCCE specific error before invoking CDT error parser
+*
+*/
+package com.nokia.carbide.cdt.internal.builder.error.parsers;
+
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.eclipse.cdt.core.ErrorParserManager;
+import org.eclipse.cdt.core.IMarkerGenerator;
+import org.eclipse.cdt.internal.errorparsers.AbstractErrorParser;
+import org.eclipse.cdt.internal.errorparsers.ErrorPattern;
+
+/*
+ * AbstractErrorParser/ErrorPattern are going to public API in CDT 5.1
+ */
+abstract public class AbstractGCCEErrorParser extends AbstractErrorParser {
+ private String toolNameString;
+ private static final ErrorPattern[] patterns = {
+ /*
+ * int groupFileName,
+ * int groupLineNum,
+ * int groupDesc,
+ * int groupVarName,
+ * int severity
+ */
+ // arm-none-symbianelf-g++: \test\test.cpp: No such file or directory
+ new ErrorPattern("(.*):\\s*(.*:)\\s*(.*(?:[Nn]o such file:\\s*)?[Nn]o such file or directory)", 2, 0, 3, 0, IMarkerGenerator.SEVERITY_ERROR_RESOURCE), //$NON-NLS-1$
+ // arm-none-symbianelf-g++: no input files
+ new ErrorPattern("(.*):\\s*(.*[Nn]o input files)", 0, 0, 2, 0, IMarkerGenerator.SEVERITY_ERROR_RESOURCE), //$NON-NLS-1$
+ //arm-none-symbianelf-g++: warning: `-x c++' after last input file has no effect
+ //arm-none-symbianelf-g++: error: some message
+ new ErrorPattern("(.*):\\s*(.*[(?:[Ww]arning)(?:[Ee]rror)]):\\s*(.*)", 0, 0, 3, 0, IMarkerGenerator.SEVERITY_INFO) { //$NON-NLS-1$
+
+ @Override
+ public int getSeverity(Matcher matcher) {
+ String warningGroup = matcher.group(2);
+ if (warningGroup != null && warningGroup.indexOf("arning") >= 0) //$NON-NLS-1$
+ return IMarkerGenerator.SEVERITY_WARNING;
+
+ return IMarkerGenerator.SEVERITY_ERROR_RESOURCE;
+ }
+
+ }
+ };
+
+ protected AbstractGCCEErrorParser(String toolNameString) {
+ super(patterns);
+ this.toolNameString = toolNameString;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.cdt.internal.errorparsers.AbstractErrorParser#processLine(java.lang.String, org.eclipse.cdt.core.ErrorParserManager)
+ *
+ * Only pick up message that matches the tool name pattern
+ *
+ */
+ public boolean processLine(String line, ErrorParserManager eoParser) {
+ if (line.startsWith(toolNameString)) {
+ return super.processLine(line, eoParser);
+ }
+ return false;
+ }
+}
diff -r 37df159d7f81 -r c937102a5510 builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/error/parsers/CarbideBaseErrorParser.java
--- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/error/parsers/CarbideBaseErrorParser.java Sat Apr 25 12:50:39 2009 -0500
+++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/error/parsers/CarbideBaseErrorParser.java Sat Apr 25 12:54:10 2009 -0500
@@ -172,7 +172,7 @@
* sets iIFile variable if possible
*
* @param errorParserManager
- * Errro parser manager to query
+ * Error parser manager to query
*/
protected void setFile(ErrorParserManager errorParserManager) {
// if no filename, just return
diff -r 37df159d7f81 -r c937102a5510 builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/error/parsers/CarbideMakeErrorParser.java
--- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/error/parsers/CarbideMakeErrorParser.java Sat Apr 25 12:50:39 2009 -0500
+++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/error/parsers/CarbideMakeErrorParser.java Sat Apr 25 12:54:10 2009 -0500
@@ -50,6 +50,7 @@
if (matcher.matches()) {
setDescription(matcher.group(1));
String msg = " - possibly too many arguments. If there are a lot of source files in a library, try breaking those out into multiple libraries.";
+ msgLineNumber = -1;
eoParser.generateMarker(rsrc, msgLineNumber, line + msg, msgSeverity, null);
return true;
}
@@ -108,7 +109,7 @@
if (line.contains(rvctNotInstalled)){
// create a specific error message when rvct is not installed since the build tools don't
- this.msgDescription = "RVCT not isntalled or 'armcc' is not on PATH. Please check that your environment for the RVCT compiler is correct.";
+ this.msgDescription = "RVCT not installed or 'armcc' is not on PATH. Please check that your environment for the RVCT compiler is correct.";
this.msgLineNumber = -1;
this.msgSeverity = IMarkerGenerator.SEVERITY_ERROR_BUILD;
eoParser.generateMarker(rsrc, msgLineNumber, msgDescription, msgSeverity, null);
diff -r 37df159d7f81 -r c937102a5510 builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/error/parsers/GCCEAssemblerErrorParser.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/error/parsers/GCCEAssemblerErrorParser.java Sat Apr 25 12:54:10 2009 -0500
@@ -0,0 +1,55 @@
+/*
+* Copyright (c) 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:
+*
+* Handles GCCE specific error before invoking CDT GNU assembler error parser
+*
+*/
+package com.nokia.carbide.cdt.internal.builder.error.parsers;
+
+import org.eclipse.cdt.core.CCorePlugin;
+import org.eclipse.cdt.core.ErrorParserManager;
+import org.eclipse.cdt.core.IErrorParser;
+import org.eclipse.cdt.core.IMarkerGenerator;
+
+public class GCCEAssemblerErrorParser extends AbstractGCCEErrorParser {
+ static String parsersID = "org.eclipse.cdt.core.GASErrorParser";
+ static IErrorParser asErrorParser = CCorePlugin.getDefault().getErrorParser(parsersID)[0];
+
+ public GCCEAssemblerErrorParser() {
+ super("arm-none-symbianelf-as"); //$NON-NLS-1$
+ }
+
+ public boolean processLine(String line, ErrorParserManager eoParser) {
+ String lineLC = line.toLowerCase();
+ // check if the tool is installed. if not then give add a user friendly error to the problems view.
+ if (lineLC.startsWith("'arm-none-symbianelf-as.exe' is not recognized")) {
+ eoParser.generateMarker(eoParser.getProject(), 0, "GCCE not found on the PATH. Please check your GCCE installation.", IMarkerGenerator.SEVERITY_ERROR_BUILD, null);
+ return true;
+ }
+
+ if (asErrorParser.processLine(line, eoParser)) {
+ return true;
+ }
+
+ // pick up where CDT failed to pick up
+ // consider porting to CDT later
+ if (super.processLine(line, eoParser)) {
+ return true;
+ }
+
+ return false;
+ }
+
+}
diff -r 37df159d7f81 -r c937102a5510 builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/error/parsers/GCCECompilerErrorParser.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/error/parsers/GCCECompilerErrorParser.java Sat Apr 25 12:54:10 2009 -0500
@@ -0,0 +1,57 @@
+/*
+* Copyright (c) 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:
+*
+* Handles GCCE specific error before invoking CDT GCC error parser
+*
+*/
+package com.nokia.carbide.cdt.internal.builder.error.parsers;
+
+import org.eclipse.cdt.core.CCorePlugin;
+import org.eclipse.cdt.core.ErrorParserManager;
+import org.eclipse.cdt.core.IErrorParser;
+import org.eclipse.cdt.core.IMarkerGenerator;
+
+public class GCCECompilerErrorParser extends AbstractGCCEErrorParser {
+
+ public GCCECompilerErrorParser() {
+ super("arm-none-symbianelf-g++"); //$NON-NLS-1$
+ }
+
+ static String parsersID = "org.eclipse.cdt.core.GCCErrorParser";
+ static IErrorParser gccErrorParser = CCorePlugin.getDefault().getErrorParser(parsersID)[0];
+
+ public boolean processLine(String line, ErrorParserManager eoParser) {
+ String lineLC = line.toLowerCase();
+
+ // check if the tool is installed. if not then give add a user friendly error to the problems view.
+ if (lineLC.startsWith("'arm-none-symbianelf-g++.exe' is not recognized")) {
+ eoParser.generateMarker(eoParser.getProject(), 0, "GCCE not found on the PATH. Please check your GCCE installation.", IMarkerGenerator.SEVERITY_ERROR_BUILD, null);
+ return true;
+ }
+
+ if (gccErrorParser.processLine(line, eoParser)) {
+ return true;
+ }
+
+ // pick up where CDT failed to pick up
+ // consider porting to CDT later
+ if (super.processLine(line, eoParser)) {
+ return true;
+ }
+
+ return false;
+ }
+
+}
diff -r 37df159d7f81 -r c937102a5510 builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/error/parsers/GCCELinkerErrorParser.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/error/parsers/GCCELinkerErrorParser.java Sat Apr 25 12:54:10 2009 -0500
@@ -0,0 +1,76 @@
+/*
+* Copyright (c) 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:
+*
+* Handles GCCE specific error before invoking CDT GNU linker error parser
+*
+*/
+package com.nokia.carbide.cdt.internal.builder.error.parsers;
+
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.eclipse.cdt.core.CCorePlugin;
+import org.eclipse.cdt.core.ErrorParserManager;
+import org.eclipse.cdt.core.IErrorParser;
+import org.eclipse.cdt.core.IMarkerGenerator;
+
+public class GCCELinkerErrorParser extends AbstractGCCEErrorParser {
+ static String TOOLNAME = "arm-none-symbianelf-ld";
+ static String parsersID = "org.eclipse.cdt.core.GLDErrorParser";
+ static IErrorParser ldErrorParser = CCorePlugin.getDefault().getErrorParser(parsersID)[0];
+
+ private static final Pattern rodataErrorPattern = Pattern.compile("(.*)\\(\\.rodata\\+.*\\): (.*)"); //$NON-NLS-1$;
+ private static final Pattern errorPattern = Pattern.compile(TOOLNAME + "(\\.exe)?:\\s*(.*)"); //$NON-NLS-1$;
+
+ public GCCELinkerErrorParser() {
+ super(TOOLNAME);
+ }
+
+ public boolean processLine(String line, ErrorParserManager eoParser) {
+ String lineLC = line.toLowerCase();
+ Matcher ldMatcher;
+
+ // check if the tool is installed. if not then give add a user friendly error to the problems view.
+ if (lineLC.startsWith("'arm-none-symbianelf-ld.exe' is not recognized")) {
+ eoParser.generateMarker(eoParser.getProject(), 0, "GCCE not found on the PATH. Please check your GCCE installation.", IMarkerGenerator.SEVERITY_ERROR_BUILD, null);
+ return true;
+ }
+
+ if (ldErrorParser.processLine(line, eoParser)) {
+ return true;
+ }
+
+ // pick up where CDT failed to pick up
+ // consider porting to CDT later
+ if (super.processLine(line, eoParser)) {
+ return true;
+ }
+
+ ldMatcher = rodataErrorPattern.matcher(line);
+ if (ldMatcher.matches()) {
+ eoParser.generateMarker(eoParser.getProject(), 0, line, IMarkerGenerator.SEVERITY_ERROR_RESOURCE, null);
+ return true;
+ }
+
+ ldMatcher = errorPattern.matcher(line);
+ if (ldMatcher.matches()) {
+ eoParser.generateMarker(eoParser.getProject(), 0, ldMatcher.group(2), IMarkerGenerator.SEVERITY_ERROR_RESOURCE, null);
+ return true;
+ }
+
+ return false;
+ }
+
+}
diff -r 37df159d7f81 -r c937102a5510 builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/error/parsers/RCOMPErrorParser.java
--- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/error/parsers/RCOMPErrorParser.java Sat Apr 25 12:50:39 2009 -0500
+++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/error/parsers/RCOMPErrorParser.java Sat Apr 25 12:54:10 2009 -0500
@@ -22,83 +22,10 @@
import org.eclipse.cdt.core.ErrorParserManager;
import org.eclipse.cdt.core.IMarkerGenerator;
-import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Path;
public class RCOMPErrorParser extends CarbideBaseErrorParser {
- private Pattern cppFileLineWarningPattern;
- private Pattern cppFileLinePattern;
- private Pattern cppFileLineInfoPattern;
-
- public RCOMPErrorParser() {
- // match file, line, possible column, and warning
- cppFileLineWarningPattern = Pattern.compile("(.+):(\\d+):(?:(\\d+:)?)\\s+warning:\\s+(.*)"); //$NON-NLS-1$
- // match file, line, possible column, and error
- cppFileLinePattern = Pattern.compile("(.+):(\\d+):(?:(\\d+:)?)\\s+(.*)"); //$NON-NLS-1$
-// match file, line, possible column, and info
- cppFileLineInfoPattern = Pattern.compile("(.+):(\\d+):(?:(\\d+:)?)\\s+note:(.*)"); //$NON-NLS-1$
- }
-
- private boolean processPreprocessorLine(String line, ErrorParserManager errorParserManager) {
- // Known patterns:
- //
- // (a)
- // %s:%d: warning: %s
- //
- // (b)
- // %s:%d:%d: warning: %s
- //
- // (c)
- // %s:%d: %s
- //
- // (d)
- // %s:%d:%d: %s
- //
- // (e)
- // * cpp failed
-
- initialise();
-
- Matcher cppMatcher = cppFileLineWarningPattern.matcher(line);
- if (cppMatcher.matches()) {
- msgFileName = cppMatcher.group(1);
- msgLineNumber = Integer.parseInt(cppMatcher.group(2));
- msgDescription = cppMatcher.group(4);
- setFile(errorParserManager);
- errorParserManager.generateExternalMarker(msgIFile, msgLineNumber, msgDescription, IMarkerGenerator.SEVERITY_WARNING, null, externalFilePath);
- return true;
- }
-
- cppMatcher = cppFileLineInfoPattern.matcher(line);
- if (cppMatcher.matches()) {
- msgFileName = cppMatcher.group(1);
- msgLineNumber = Integer.parseInt(cppMatcher.group(2));
- msgDescription = cppMatcher.group(4);
- setFile(errorParserManager);
- errorParserManager.generateExternalMarker(msgIFile, msgLineNumber, msgDescription, IMarkerGenerator.SEVERITY_INFO, null, externalFilePath);
- return true;
- }
-
- cppMatcher = cppFileLinePattern.matcher(line);
- if (cppMatcher.matches()) {
- msgFileName = cppMatcher.group(1);
- msgLineNumber = Integer.parseInt(cppMatcher.group(2));
- msgDescription = cppMatcher.group(4);
- setFile(errorParserManager);
- errorParserManager.generateExternalMarker(msgIFile, msgLineNumber, msgDescription, IMarkerGenerator.SEVERITY_ERROR_BUILD, null, externalFilePath);
- return true;
- }
-
- if (line.startsWith("* cpp failed") || line.startsWith("* BMCONV failed")
- || line.startsWith("* mifconv.exe failed") || line.startsWith("* epocaif.pl failed")
- || line.toUpperCase().startsWith("FAILED TO UPDATE FILE") ) {
- errorParserManager.generateExternalMarker(null, -1, line, IStatus.ERROR, null, externalFilePath);
- return true;
- }
-
- return false;
- }
public boolean processLine(String line, ErrorParserManager errorParserManager) {
// Known patterns.
// (a)
@@ -111,11 +38,11 @@
// filename(lineno) : Error: (ErrorNumber) iDescription
//
// (d)
- // cannot open %s for writing (where %s is the asbolute path to the .rsc
+ // cannot open %s for writing (where %s is the absolute path to the .rsc
// file)
//
// (e)
- // Failed to write UIDs to %s (where %s is the asbolute path to the .rsc
+ // Failed to write UIDs to %s (where %s is the absolute path to the .rsc
// file)
//
// (f)
@@ -124,34 +51,51 @@
// (g)
// ERROR: %s (where %s could be anything really)
//
- // (h) C Pre-Processor
- // Filename:lineNumber: iDescription
+ // (h) C Pre-Processor failing
+ // * cpp failed
+ //
+ // (i)
+ // Failed to open %s
//
- // (i) C Pre-Processor failing
- // * cpp failed
+ // (j)
+ // RCOMP failed with code %d
+ //
+
+ // Warning pattern
+ // (a)
+ // atof may have failed for %s
initialise();
- if (processPreprocessorLine(line, errorParserManager))
- return true;
-
+ // some error
HashSet linePrefixes = new HashSet();
linePrefixes.add("cannot open "); //$NON-NLS-1$
linePrefixes.add("Failed to write UIDs to "); //$NON-NLS-1$
linePrefixes.add("* RCOMP failed -"); //$NON-NLS-1$
linePrefixes.add("ERROR: "); //$NON-NLS-1$
linePrefixes.add("* cpp failed"); //$NON-NLS-1$
+ linePrefixes.add("Failed to open "); //$NON-NLS-1$
+ linePrefixes.add("RCOMP failed with code "); //$NON-NLS-1$
if (checkForLineBeginnings(line, linePrefixes.toArray(new String[linePrefixes.size()]))) {
errorParserManager.generateMarker(null, -1, line, msgSeverity, null);
return true;
}
+
+ // some warning
+ HashSet warningLinePrefixes = new HashSet();
+ warningLinePrefixes.add("atof may have failed for "); //$NON-NLS-1$
+
+ if (checkForLineBeginnings(line, warningLinePrefixes.toArray(new String[warningLinePrefixes.size()]))) {
+ errorParserManager.generateMarker(null, -1, line, IMarkerGenerator.SEVERITY_WARNING, null);
+ return true;
+ }
// check for MBM build failure. This string is part of the help text spewed out
// for an invalid command line. Same in Symbian 7.0s and 9.2, so assumed static.
if (line.indexOf("epocmbm [-h headerfile]") >= 0) { //$NON-NLS-1$
errorParserManager.generateMarker(null, -1,
- "epocmbm build failed (perhaps due to an empty image list or invalid color format specification): please check the Console",
+ "epocmbm build failed (perhaps due to an empty image list or invalid color format specification): please check the Console", //$NON-NLS-1$
IMarkerGenerator.SEVERITY_ERROR_BUILD, null);
return true;
}
@@ -163,7 +107,7 @@
if (!setFileNameAndLineNumber(line) && !setDetailsFromCppOutput(line)) {
return false;
}
- String[] extensionsToExclude = {".pkg", ".def", ".defi"}; //$NON-NLS-1$ //$NON-NLS-2$
+ String[] extensionsToExclude = {".pkg", ".def", ".defi", ".asm", ".c" ,".c++", ".cc", ".cia", ".cpp", ".cxx", "h", ".hh", ".hpp", ".hxx", ".s"}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$ //$NON-NLS-12$ //$NON-NLS-13$ //$NON-NLS-14$ //$NON-NLS-15$
if (hasExcludedExtension(extensionsToExclude)) {
return false;
}
@@ -208,7 +152,7 @@
// Remove the warning.
msgDescription = msgDescription.substring("warning".length()).trim(); //$NON-NLS-1$
msgSeverity = IMarkerGenerator.SEVERITY_WARNING;
- } else if (msgDescription.matches("(?i)error.*")) {
+ } else if (msgDescription.matches("(?i)error.*")) { //$NON-NLS-1$
// Remove the error.
msgDescription = msgDescription.substring("error".length()).trim(); //$NON-NLS-1$
}
diff -r 37df159d7f81 -r c937102a5510 builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/error/parsers/RVCTCompilerErrorParser.java
--- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/error/parsers/RVCTCompilerErrorParser.java Sat Apr 25 12:50:39 2009 -0500
+++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/error/parsers/RVCTCompilerErrorParser.java Sat Apr 25 12:54:10 2009 -0500
@@ -39,6 +39,7 @@
// e.g. "no source": Error: #5: cannot open source input file "\CarbideB18_workspace\BlackFlag\group\SRC\dbg_debug_menu.cpp": No such file or directory
if (aLine.contains("No such file or directory")){
aErrorParserManager.generateMarker(aErrorParserManager.getProject(), 0, aLine, IMarkerGenerator.SEVERITY_ERROR_BUILD, null);
+ return true;
}
diff -r 37df159d7f81 -r c937102a5510 builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/ui/ArgumentsTabComposite.java
--- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/ui/ArgumentsTabComposite.java Sat Apr 25 12:50:39 2009 -0500
+++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/ui/ArgumentsTabComposite.java Sat Apr 25 12:54:10 2009 -0500
@@ -25,9 +25,9 @@
import org.eclipse.swt.widgets.TabItem;
import org.eclipse.swt.widgets.Text;
+import com.nokia.carbide.cdt.builder.BuildArgumentsInfo;
import com.nokia.carbide.cdt.builder.project.IBuildArgumentsInfo;
import com.nokia.carbide.cdt.builder.project.ICarbideBuildConfiguration;
-import com.nokia.carbide.cdt.internal.builder.BuildArgumentsInfo;
import com.nokia.carbide.cdt.internal.builder.CarbideBuildConfiguration;
import com.nokia.carbide.cpp.sdk.core.ISymbianSDK;
diff -r 37df159d7f81 -r c937102a5510 builder/com.nokia.carbide.cpp.builder.utils/src/com/nokia/carbide/cpp/internal/builder/utils/handlers/ABLDCommandHandler.java
diff -r 37df159d7f81 -r c937102a5510 builder/com.nokia.carbide.cpp.builder.utils/src/com/nokia/carbide/cpp/internal/builder/utils/handlers/ProjectCommandHandler.java
--- a/builder/com.nokia.carbide.cpp.builder.utils/src/com/nokia/carbide/cpp/internal/builder/utils/handlers/ProjectCommandHandler.java Sat Apr 25 12:50:39 2009 -0500
+++ b/builder/com.nokia.carbide.cpp.builder.utils/src/com/nokia/carbide/cpp/internal/builder/utils/handlers/ProjectCommandHandler.java Sat Apr 25 12:54:10 2009 -0500
@@ -27,6 +27,7 @@
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IMarker;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.resources.ResourcesPlugin;
@@ -177,7 +178,9 @@
for (final ICarbideBuildConfiguration currConfig : buildConfigList) {
launcher.setErrorParserManager(cpi.getINFWorkingDirectory(), CarbideCPPBuilder.getParserIdArray(currConfig.getErrorParserId()));
-
+ if (monitor.isCanceled()) {
+ return new Status(IStatus.CANCEL, "Carbide.c++ builder utils plugin", IStatus.CANCEL, "Build Cancelled", null);
+ }
// kick off a build for each configuration...
CarbideCPPBuilder.invokeBuild(currConfig, launcher, subMonitor.newChild(1), false);
diff -r 37df159d7f81 -r c937102a5510 carbidesdk/com.nokia.carbide.cpp.sdk.doc.user/html/gettingStarted/background.htm
--- a/carbidesdk/com.nokia.carbide.cpp.sdk.doc.user/html/gettingStarted/background.htm Sat Apr 25 12:50:39 2009 -0500
+++ b/carbidesdk/com.nokia.carbide.cpp.sdk.doc.user/html/gettingStarted/background.htm Sat Apr 25 12:54:10 2009 -0500
@@ -12,7 +12,7 @@
Carbide.c++ is built on the Eclipse platform. The Eclipse components used are:
- Eclipse 3.4
-- A slightly modified version of CDT 5.0.0
+- A slightly modified version of CDT 5.0.1
- EMF 2.4.1
- GEF 3.4.1
diff -r 37df159d7f81 -r c937102a5510 carbidesdk/com.nokia.carbide.cpp.sdk.doc.user/html/gettingStarted/env_setup.htm
--- a/carbidesdk/com.nokia.carbide.cpp.sdk.doc.user/html/gettingStarted/env_setup.htm Sat Apr 25 12:50:39 2009 -0500
+++ b/carbidesdk/com.nokia.carbide.cpp.sdk.doc.user/html/gettingStarted/env_setup.htm Sat Apr 25 12:54:10 2009 -0500
@@ -16,26 +16,25 @@
This section will describe how to set up a basic Eclipse development environment
to develop a plugin against the Carbide.c++ development environment.
-Download the Eclipse 3.4 SDK
-Carbide.c++ is developed against the Eclipse 3.4 release build. You can download the build
-here. Carbide.c++ is only tested and supported on the Windows platform.
-You can extract the Eclipse platform anywhere you like.
-NOTE When you launch eclipse, choose a workspace location without spaces. This will help to prevent build issues later on with Symbian SDKs.
-Set-up the Target Platform
+Download the Carbide.c++ Development Kit (CDK)
+Carbide.c++ is developed against the Eclipse 3.4 release build which includes the Java Development Tools (JDT) and Plug-in Development Environment (PDE). You will need these items as well as the Carbide.c++/CDT source code to develop Eclipse/Carbide.c++ plug-ins. If you want to install the CDK you will need to run the Software Updates under the Help menu to update your installation to include the CDK.
+For more information on running the Software Updater please see the page Updating Carbide.c++.
+Importing source projects
-Once you have your Eclipse environment extracted and launched, you can set up your Target Platform to have your fresh installation reference all the Carbide.c++/CDT/Eclipse plugins.
-The Eclipse Target Platform feature allows you to compile and run against a different Eclipse installation than the
-one you're using for development. In this case you'll be targeting the Carbide.c++ installation. The Target Platform is a workspace-wide setting, so you may want to dedicate a separate workspace for your Carbide.c++ plugin development.
-
+Once you have your Carbide environment updated to include the CDK, you can create new Eclipse plug-in projects and debug the Carbide.c++ sources. How to create eclipse plug-ins is beyond the scope of this demonstration. If you want to debug any of the Carbide.c++ or Ecilpse platform source follow these steps to verify your CDK isntallation:
- - Choose Window > Preferences > Plug-in Development > Target Platform.
- - Browse for the Location of your Carbide.c++ installation. This is the location that contains the Carbide.c++.exe and plugins folder. When you have chosen the new location eclipse will load the plugins found in Carbide.c++ installation you will work against. Your Target Platform preference should look something like this:
-
- 
- - Select OK.
+ - Switch to the Plug-in Development perspective.
+ - Select the Plug-ins view.
+ - Select the binary plug-in you want view the source of. Don't select the *source feature.
+ - Right-click on the plug-in you want to import and select Import As > Source Project. For example, the com.nokia.carbide.cpp.leavescan plug-in as shown below.
+
+
+ - Now you can return to the Package Explorer view and navigate the source files for the imported plug-in. It should look like a normal plug-in project:
+
+ 
+
+ You can now create a launch configuration and debug Carbide.
-You are now ready to import or create new projects into your Eclipse workspace.
-
-Importing the SDK example and leavescan plug-ins
-There are two example plugins you can import and examine as examples of Carbide.c++ API usage.
+Importing the SDK Example
+You can import any of the plug-ins in Carbide.c++ and examine the source code. However, the SDK provides a plug-in you can import and examine as an example of Carbide.c++ API usage.
-- The Examples plugin (com.nokia.carbide.cpp.sdk.examples) is part of the Carbide.c++ Plug-in SDK. It
+
- The Examples plugin (com.nokia.carbide.cpp.sdk.examples) is part of the Carbide.c++ Development Kit (CDK). It
provides examples of installing items in the Carbide menu, creating new projects programatically, and accessing
project and Symbian build information. See below for instructions on how to enable the example menu
commands inside carbide.
-- The leavescan plugin (com.nokia.carbide.cpp.leavescan) is part of the Carbide.c++ product installation with source code included.
-The source code can help give you a basic understanding of how to access basic project configuration
-settings from the Carbide.c++ APIs.
-You can import these plugins into your workspace and view/debug all the source to get a better understanding of the
-Carbide.c++ APIs in a functional plugin.
+You can import this and other plugins into your workspace and view/debug all the source to get a better understanding of the
+Carbide.c++ APIs in a functional plugin. Plesae see the page on setting up your development environment for information on how to import a source project.
Note that the example plugins were built with JRE1.5, you will likely receive errors with JRE1.6. Select Window > Preferences > Java > Installed JREs to add currently installed JREs and select the JRE to use.
-
- - Choose File > Import
- - Choose Plug-in Development > Plug-ins and Fragments from the Import wizard page.
-
-
-
- - On the Import Plug-ins and Fragments pages you select import options. In the Import As group, select Projects with source folders.
- In addition, note that The target platform (as specified in the Preferences)
- checkbox should be enabled. This should be the path you specified previously in the Target Preferences.
-
-
-
- - Finally, select the plugins you want to import. Here you select the
com.nokia.carbide.cpp.leavescan
and
- com.nokia.carbide.cpp.sdk.examples
plugins.
-
-
-
- - When you are done importing you should have new plugins in your workspace and be able to view the
- sources for both plugin projects. Your workspace should look something like this:
-
- 
-
- Adding a Carbide menu
+When you are done importing you should have new plugins in your workspace and be able to view the
+ sources for both plugin projects. Your workspace should look something like this:
+
+ 
+Adding a Carbide menu
The menu items contributed by the Examples plugin are not visible by default in the Carbide.c++ program. To show the missing menu, follow these steps:
- In Carbide.c++ (not in your Eclipse Java development SDK) choose Window > Customize Perspective...
@@ -57,7 +36,7 @@
- Click OK, and you should now see the Carbide menu in the menu bar.
+ Click OK, and you should now see the Carbide menu in the menu bar. You can now examine the source code and run it in the debugger. See debugging a debugging a Carbide.c++ plug-in for information on setting up a plug-in debug session.