1
|
1 |
# #################################################################
|
|
2 |
# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
|
|
3 |
# All rights reserved.
|
|
4 |
#
|
|
5 |
# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
|
6 |
#
|
|
7 |
# * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
|
8 |
# * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
|
|
9 |
# * Neither the name of Nokia Corporation nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
|
|
10 |
#
|
|
11 |
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
|
|
12 |
# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
|
|
13 |
# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
14 |
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
15 |
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.#
|
|
16 |
#
|
|
17 |
# #################################################################
|
|
18 |
|
|
19 |
CodeScanner is primarily made up of 2 parts :
|
|
20 |
|
|
21 |
-- The main body, found in /scripts/linescanner.py, handles the scanning of
|
|
22 |
source file, importing rules from individual python scripts, creating and
|
|
23 |
formatting output HTML files, and other misc functions.
|
|
24 |
|
|
25 |
-- Individual Python scripts, found in other files in /scripts. Each of these
|
|
26 |
scripts correspond to a unique problem checked by CodeScanner. To extend
|
|
27 |
CodeScanner, simply add new scripts for problems to be checked.
|
|
28 |
|
|
29 |
|
|
30 |
Some other files/directories found in the CodeScanner tree:
|
|
31 |
|
|
32 |
-- The script Buildparser.py is used to collect and combine all the Python scripts
|
|
33 |
found in /script with the main body and any localized strings. The result is a
|
|
34 |
single script that can be executed by the Python interpreter. Documentation for
|
|
35 |
BuildParser can be found in /BuildParserdoc.
|
|
36 |
|
|
37 |
-- The batch file buildtools.bat uses Buildparser.py to generate a single Python
|
|
38 |
script, which is then converted into a stand alone executable.
|
|
39 |
|
|
40 |
-- /script/resource contains the string resource files that are used for storing
|
|
41 |
localized strings for CodeScanner.
|
|
42 |
|
|
43 |
====================
|
|
44 |
Building CodeScanner
|
|
45 |
====================
|
|
46 |
|
|
47 |
Because CodeScanner is written as Python scripts, one needs the Python interpretor
|
|
48 |
to compile these scripts. Besides from the standard Python installation, one also
|
|
49 |
needs the pywin32 package and the Psyco extension module.
|
|
50 |
Go to <http://python.org/> for the latest version of Python and pywin32 package.
|
|
51 |
Go to <http://psyco.sourceforge.net/> for the latest version of Psyco.
|
|
52 |
|
|
53 |
To build CodeScanner do the following :
|
|
54 |
|
|
55 |
1) open a console window and set current directory to :
|
|
56 |
|
|
57 |
..../codescanner
|
|
58 |
|
|
59 |
2) type the following command in the console window :
|
|
60 |
|
|
61 |
python pyinstaller/configure.py
|
|
62 |
|
|
63 |
This will configure pyinstaller, a 3rd party utility responsible for making CodeScanner
|
|
64 |
a stand-alone command line tool.
|
|
65 |
|
|
66 |
3) execute the batch file "buildtools.bat".
|
|
67 |
|
|
68 |
4) at this point you should have the file CodeScanner.exe and other runtime modules in
|
|
69 |
the directory /discodescanner.
|