srcanamdw/codescanner/Readme.txt
author noe\swadi
Thu, 18 Feb 2010 12:29:02 +0530
changeset 1 22878952f6e2
permissions -rw-r--r--
Committing the CodeScanner Core tool This component has been moved from the StaticAnaApps package. BUG : 5889 (http://developer.symbian.org/webbugs/show_bug.cgi?id=5889).
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
     1
# #################################################################
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
     2
# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
     3
# All rights reserved.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
     4
# 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
     5
# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
     6
# 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
     7
# * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
     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.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
     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.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    10
# 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    11
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    12
# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    13
# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    14
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    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.#
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    16
#
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    17
# #################################################################
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    18
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    19
CodeScanner is primarily made up of 2 parts :
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    20
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    21
-- The main body, found in /scripts/linescanner.py, handles the scanning of 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    22
source file, importing rules from individual python scripts, creating and 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    23
formatting output HTML files, and other misc functions.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    24
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    25
-- Individual Python scripts, found in other files in /scripts. Each of these 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    26
scripts correspond to a unique problem checked by CodeScanner. To extend 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    27
CodeScanner, simply add new scripts for problems to be checked.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    28
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    29
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    30
Some other files/directories found in the CodeScanner tree:
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    31
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    32
-- The script Buildparser.py is used to collect and combine all the Python scripts 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    33
found in /script with the main body and any localized strings. The result is a 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    34
single script that can be executed by the Python interpreter. Documentation for
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    35
BuildParser can be found in /BuildParserdoc.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    36
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    37
-- The batch file buildtools.bat uses Buildparser.py to generate a single Python
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    38
script, which is then converted into a stand alone executable. 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    39
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    40
-- /script/resource contains the string resource files that are used for storing 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    41
localized strings for CodeScanner.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    42
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    43
====================
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    44
Building CodeScanner
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    45
====================
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    46
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    47
Because CodeScanner is written as Python scripts, one needs the Python interpretor 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    48
to compile these scripts. Besides from the standard Python installation, one also 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    49
needs the pywin32 package and the Psyco extension module. 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    50
Go to <http://python.org/> for the latest version of Python and pywin32 package.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    51
Go to <http://psyco.sourceforge.net/> for the latest version of Psyco.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    52
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    53
To build CodeScanner do the following :
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    54
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    55
1) open a console window and set current directory to :
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    56
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    57
..../codescanner
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    58
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    59
2) type the following command in the console window :
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    60
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    61
python pyinstaller/configure.py
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    62
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    63
This will configure pyinstaller, a 3rd party utility responsible for making CodeScanner
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    64
a stand-alone command line tool.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    65
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    66
3) execute the batch file "buildtools.bat".
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    67
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    68
4) at this point you should have the file CodeScanner.exe and other runtime modules in
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    69
the directory /discodescanner.