srcanamdw/codescanner/distcodescanner/release_notes.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
Nokia CodeScanner Command Line Tool Release Notes
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    20
=================================================
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    21
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    22
Version 2.1.4
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    23
=============
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    24
- Copyright changes done.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    25
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    26
Version 2.1.3
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    27
=============
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    28
- Updated the function parser in CodeScanner to improve check for
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    29
leaving functions called in non-leaving functions. There should
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    30
be less false positives now.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    31
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    32
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    33
Version 2.1.2
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    34
=============
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    35
- Added new IAD rule to check flag usage. IA must not use R&D flags 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    36
nor feature flags via preprocessor statements in the source code. 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    37
This means bldvariant.hrh and productvariant.hrh should not be used.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    38
This new rule is set to low severity in the "Other" category by 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    39
default. It can be configured by adding a <flags> script element 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    40
in the configuration file. 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    41
Example :
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    42
<codescannerConfig>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    43
  <scripts>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    44
    <flags category="other" 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    45
           enable="true" 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    46
           severity="low"/>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    47
  </scripts>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    48
</codescannerConfig>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    49
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    50
- Added new IAD rule to check Central Repository usage. IA cannot 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    51
assume that the Central Repository is set up fully. This means the 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    52
return value of CRepository::get() cannot be ignored.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    53
This new rule is set to low severity in the "Other" category by 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    54
default. It can be configured by adding a <crepository> script 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    55
element in the configuration file. 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    56
Example :
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    57
<codescannerConfig>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    58
  <scripts>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    59
    <crepository category="other" 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    60
                 enable="true" 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    61
                 severity="low"/>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    62
  </scripts>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    63
</codescannerConfig>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    64
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    65
- Added new IAD rule to check customizable icons. Due to device 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    66
customization requirements, IA must not remove any customization 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    67
done by the variant team. This means IA cannot include customizable 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    68
icons.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    69
This new rule is set to low severity in the "Other" category by 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    70
default. It can be configured by adding a <customizableicons> 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    71
script element in the configuration file. Names of icons can be 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    72
specified in the <iconsRE> element.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    73
Example :
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    74
<codescannerConfig>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    75
  <scripts>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    76
    <customizableicons category="other" 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    77
                       enable="true" 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    78
                       severity="low">
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    79
      <iconsRE>iconA.bmp|iconB.svg|iconC</iconsRE>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    80
    </customizableicons>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    81
  </scripts>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    82
</codescannerConfig>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    83
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    84
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    85
Version 2.1.1
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    86
=============
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    87
- Added support for user-defined rules. This can be done by
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    88
adding a <customrules> element to the configuration file.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    89
Example :
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    90
<codescannerConfig>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    91
  <customrules>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    92
    <customrule>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    93
      <name>myOwnRule</name>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    94
      <keyword type=”class”>CMyOwnClass</keyword>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    95
      <filetype>h</filetype>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    96
      <severity>low</severity>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    97
      <title>My CodeScanner rule targeting CMyOwnClass</title>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    98
      <description>Locate definition of CMyOwnClass</description>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    99
    </customrule>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   100
  </customrules>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   101
</codescannerConfig>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   102
More information on the syntax of this new element can be found in 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   103
the document "CodeScanner_XML_ConfigFile_Spec.doc".
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   104
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   105
- When scanning with low severity rules, CodeScanner now 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   106
generates informative messages instead of warnings when the 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   107
StdOut output format is selected.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   108
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   109
- Added support to disable individual error/warning via
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   110
CodeScanner commands embedded in comments. The command has the 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   111
following format : 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   112
  codescanner(::<rule name>)+
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   113
Example :
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   114
void CTestCase::Foo()
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   115
{
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   116
  array->At(a); // codescanner::accessArrayElementWithoutCheck
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   117
  User::Leave(KErrNone); /* codescanner::LeaveNoError */
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   118
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   119
A complete list of CodeScanner rule names can be found in the 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   120
document "CodeScanner_Rules.doc".
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   121
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   122
- Added new rule to check whether Cancel() function is called 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   123
in active object's destructor.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   124
Cancel() should always be called in active object's destructor 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   125
to cancel an outstanding request if there is one. If there is 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   126
no request pending then Cancel() just does nothing, but if we 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   127
do not call Cancel() when having an outstanding request a panic 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   128
will be raised.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   129
This new rule is set to low severity in the "Coding Standards"
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   130
category by default. It can be configured by adding a 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   131
<missingcancel> script element in the configuration
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   132
file. 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   133
Example :
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   134
<codescannerConfig>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   135
  <scripts>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   136
    <missingcancel category="codingstandards" 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   137
                   enable="true" 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   138
                   severity="low"/>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   139
  </scripts>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   140
</codescannerConfig>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   141
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   142
-Updated the function parser in CodeScanner to filter out constant 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   143
initialization.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   144
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   145
- Updated active object checking rule to ignore After() from 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   146
RTimer type member variables.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   147
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   148
- Updated to skip excluded folders specified in configuration file 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   149
when generating component summary reports.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   150
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   151
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   152
Version 2.1.0
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   153
=============
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   154
- Previously CodeScanner has been distributed as a single-file
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   155
executable which packs all the DLLs and library modules it needed 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   156
into an archive attached to itself. During runtime, it creates a 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   157
directory (_MEI<id>) in the user's temp directory, and extract 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   158
these files there. When execution is complete, it recursively 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   159
removes the entire directory it created. 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   160
Unfortunately the cleanup process sometimes fail. So over time 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   161
user's temp directory can be littered with these directories, 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   162
which can cause CodeScanner to fail if it tries to reuse a 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   163
directory that was created from a previous run.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   164
To address this problem, we separated all these modules from 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   165
CodeScanner.exe and shipping them "as is". This change should be
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   166
transparent from user's point of view, except when copying
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   167
CodeScanner to other locations on user's system.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   168
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   169
- Updated configuration file format to allow passing arguments 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   170
to CodeScanner. One can now add an <arguments> element to the 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   171
configuration file with one or more of the following 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   172
child elements :
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   173
<input> - specify additional directory/file to scan
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   174
<outputformat> (html|xml|std) - specify output format
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   175
<lxr> - url to lxr site
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   176
<lxrversion> - lxr version
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   177
<timestampedoutput> (on/off) - create time-stamped output directory 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   178
Example:
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   179
<codescannerConfig>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   180
  <arguments>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   181
    <input>C:\Testing\CodeScanner_Tests\Bug_6393\Includes</input>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   182
    <outputformat>html|xml</outputformat>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   183
    <lxr>http://s60lxr/source/</lxr>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   184
    <lxrversion>S60_3_2_200736</lxrversion>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   185
    <timestampedoutput>on</timestampedoutput>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   186
  </arguments>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   187
</codescannerConfig>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   188
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   189
- Added new rule to check stack-based resource objects not put 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   190
on the cleanup stack.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   191
If a stack-based resource object is not put on the cleanup stack 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   192
with CleanupClosePushL() or CleanupResetAndDestroyPushL(), and 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   193
a leaving function or ELeave is called, a memory leak occurs. 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   194
CodeScanner occasionally gives false positives for this issue. 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   195
Individual cases should be investigated.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   196
This new rule is set to low severity in the "Code Review"
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   197
category by default. It can be configured by adding a 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   198
<resourcenotoncleanupstack> script element in the configuration
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   199
file. 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   200
Example :
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   201
<codescannerConfig>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   202
  <scripts>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   203
    <resourcenotoncleanupstack category="codereview" 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   204
                               enable="true" 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   205
                               severity="low"/>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   206
  </scripts>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   207
</codescannerConfig>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   208
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   209
- Added new rule to check inheritance order of M and C classes. 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   210
If a C class inherits first from an M class and then a C class,
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   211
a panic can occur when trying to pop a CBase pointer pointing 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   212
to such a class from the cleanup stack when in fact a pointer 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   213
pointing to the first predecessor, the mixin class, was popped 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   214
instead.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   215
This new rule is set to high severity in the "Can Panic"
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   216
category by default. It can be configured by adding a 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   217
<inheritanceorder> script element in the configuration file. 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   218
Example :
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   219
<codescannerConfig>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   220
  <scripts>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   221
    <inheritanceorder category="canpanic" 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   222
                      enable="true" 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   223
                      severity="high"/>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   224
  </scripts>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   225
</codescannerConfig>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   226
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   227
- Updated rule for L-functions that cannot leave. It is now
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   228
possible to specify functions to be ignored by this rule in the
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   229
configuration file. This is done by adding a <LFunctionIgnoreRE> 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   230
element to the <LFunctionCantLeave> script element.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   231
Example:
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   232
<codescannerConfig>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   233
  <scripts>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   234
    <LFunctionCantLeave enable="true">
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   235
      <LFunctionIgnoreRE>RunL</LFunctionIgnoreRE>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   236
    </LFunctionCantLeave>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   237
  </scripts>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   238
</codescannerConfig>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   239
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   240
- Updated description of rule for badly-named enum members.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   241
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   242
- Updated NULL equality check rule to ignore pointer comparisons 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   243
with NULL inside various __ASSERT_XXX() macros.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   244
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   245
- Removed duplicate rule for hard-coded external drive letters. 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   246
There is now only 1 rule that check for this problem and it is 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   247
a low severity rule in the Coding Standard category.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   248
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   249
- Improved rule for accessing array element by [] without 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   250
checking range.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   251
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   252
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   253
Version 2.0.9
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   254
=============
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   255
- Updated check for Open() to allow assignment of return value on 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   256
a different line.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   257
Example :
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   258
  TInt error = 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   259
    myFile.Open();
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   260
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   261
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   262
Version 2.0.8
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   263
=============
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   264
- Updated check for C class not inheriting from another C class.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   265
It is now possible to specify C class that does not inherit from
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   266
another C class in the configuration file. This is done by adding
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   267
a <cclassIgnoreRE> element to the <missingcclass> script element.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   268
Example :
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   269
<missingcclass enable="true">
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   270
  <cclassIgnoreRE>CLogger|CKeypadData</cclassIgnoreRE>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   271
</missingcclass>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   272
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   273
- Updated check for ignored Open() return value.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   274
It is now possible to specify object or class with Open() method
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   275
that does not return any value in the configuration file. 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   276
This is done by adding an <openIgnoreRE> element to the 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   277
<open> script element. For a local variable, one can specify 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   278
either the type or variable name in the <openIgnoreRE> element. 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   279
For other types of object, one should specify the object name in 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   280
the <openIgnoreRE> element. 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   281
Example:
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   282
<open enable="true">
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   283
  <openIgnoreRE>CKeyStore|iKeyStore|lKeyStore</openIgnoreRE>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   284
</open>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   285
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   286
- Fixed a bug where some scripts cannot be disabled from the
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   287
configuration file.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   288
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   289
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   290
Version 2.0.7
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   291
=============
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   292
- Updated standard console output to include severity level and
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   293
category information in the error/warning messages.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   294
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   295
- Incorporated Psyco module to improve scanning performance. Please
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   296
refer to the document "MIT license.txt" for licensing info.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   297
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   298
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   299
Version 2.0.6
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   300
=============
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   301
- Updated check for CleanupStack::Pop(AndDestroy)() to ignore
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   302
CleanupStack::Pop(TInt, TAny*) and 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   303
CleanupStack::PopAndDestroy(TInt, TAny*)
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   304
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   305
- Updated check for Open() to allow handler of return value on a 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   306
different line.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   307
Example :
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   308
  User::LeaveIfError(
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   309
    myFile.Open());
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   310
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   311
- Updated check for At() to ignore timer objects.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   312
Example :
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   313
  TTime now;
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   314
  iTimer.At(iStatus, now);
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   315
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   316
- Improved handling of scanning of code with #ifdef/#else/#endif
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   317
preprocessor commands. CodeScanner sometimes can be confused by
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   318
code surrounded by these preprocessor commands, e.g. generating
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   319
warnings on member variable deleted incorrectly, even when it 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   320
happens inside a destructor. This has been fixed.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   321
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   322
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   323
Version 2.0.5
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   324
=============
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   325
- Added new option to specify additional source directory/file :
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   326
"-i <source dir/file>" -- specify additional directory/file to scan
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   327
Example : codescanner -i C:\resources -i C:\includes
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   328
          C:\sources C:\results
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   329
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   330
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   331
Version 2.0.4
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   332
=============
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   333
- Updated HTML generation to use '/' instead of '\' when generating
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   334
links; this change is needed for Mozilla Firefox compatibility.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   335
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   336
- Added new option to toggle creation of time-stamped directory for
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   337
results :
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   338
"-t on/off" -- create a time-stamped directory for results; default
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   339
               is on
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   340
Example : codescanner -t off C:\sources C:\results
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   341
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   342
- Added new option to configure output format of results:
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   343
"-o html|xml|std" -- specify output format : HTML, XML or StdOut;
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   344
                     default output format is HTML
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   345
Multiple output formats can be specified at the same time.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   346
Example : codescanner -o xml,html C:\sources C:\results
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   347
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   348
- Updated configuration file format to allow user setting the
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   349
category and severity of scripts individually. Each <scripts> element
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   350
contains one or more Script elements, each of which corresponds to a
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   351
CodeScanner rule. Each Script element has the following attributes:
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   352
enable (boolean) – specifies whether a script is enabled by CodeScanner.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   353
severity (string) – specifies the severity level of a script.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   354
category (string) – specifies the category of a script.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   355
Example :
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   356
<codescannerConfig>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   357
  <scripts>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   358
    <baddefines enable="true" severity="low" category="codingstandards"/>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   359
    <friend enable="true" severity="low" category="codereview"/>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   360
    <leave enable="true" severity="high" category="canpanic"/>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   361
  </scripts>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   362
</codescannerConfig>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   363
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   364
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   365
Version 2.0.3
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   366
=============
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   367
- Updated HTML generation so that links with the '#' character can be
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   368
opened by Mozilla Firefox correctly.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   369
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   370
- Added new options to generate links to LXR server instead of local 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   371
file system. The new options are :
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   372
"-x" -- specify URL of LXR site
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   373
"-r" -- specify LXR version
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   374
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   375
Example : codescanner -x http://some.lxr.server/sources/ -r S60_3_2_12
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   376
C:\sources C:\results
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   377
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   378
Once scanning is completed, the results will point to the remote 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   379
LXR server instead of the local "C:\sources" folder.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   380
*****This new feature has been contributed by James Uther of Nokia*****
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   381
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   382
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   383
Version 2.0.2
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   384
=============
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   385
- Updated HTML generation so that source file links can be opened by
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   386
Mozilla Firefox.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   387
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   388
- Improved handling of function parameter list spanning multiple lines.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   389
Example :
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   390
void CMenuBar::MyMenu (const HBufC* a,
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   391
                       const TDesC& b)
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   392
{ ... }
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   393
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   394
- Improved handling of TRAP block spanning multiple lines.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   395
Example :
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   396
  TRAPD(
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   397
    err,
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   398
    WaitDialogL(aErrorCode)
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   399
  );
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   400
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   401
- Updated handling of NULL equality check to allow comparison with NULL
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   402
in return statement. 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   403
Example :
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   404
  return (ptr != NULL);
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   405
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   406
- Updated handling of hard-coded numbers so that '2' is no longer 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   407
considered a 'magic number'.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   408
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   409
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   410
Version 2.0.1b
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   411
==============
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   412
- When checking for leaving functions called in non-leaving functions,
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   413
Cases where macros are used for class declarations are now filtered out.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   414
Example :
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   415
NONSHARABLE_CLASS(CMyClass) : public CActive 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   416
{ ... }
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   417
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   418
- When generating individual component report, text containing HTML tags
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   419
(eg. <s>, <i>) are now cleaned up before written to file. This
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   420
prevents unintended text formatting.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   421
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   422
- Corrected spelling mistake in usage info.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   423
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   424
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   425
Version 2.0.0a
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   426
==============
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   427
- This is the first development release of Nokia's version of CodeScanner CLI. 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   428
Our goals for this release are to :
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   429
1) support feature-functions available in Mobile Innovation's CodeScanner v 1.11
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   430
2) address reported issues
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   431
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   432
The following are known issues from CodeScanner v 1.11 :
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   433
1) CodeScanner output is not entirely compatible with Mozilla Firefox. 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   434
For security reasons, Mozila Firefox and Mozilla Suite do not allow links to 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   435
local files (and directories). This includes linking to files on the hard drive, 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   436
on mapped network drives, and those accessible via UNC paths.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   437
2) CodeScanner treats 2 as a ‘magic number’. In User Interface code, '2' is 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   438
often used to calculate offsets and should not always be replaced by variable.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   439
3) CodeScanner does not ignore CleanupStack::Pop() without parameters 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   440
if CleanupClosePushL() or similar utility is used.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   441
4) CodeScanner flags all use of #if in .h files irrespective of context.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   442
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   443
Licensing Notes
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   444
===============
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   445
CodeScanner is built with Python 2.5.1 but does NOT use any of the following
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   446
files or modules :
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   447
python2.5-2.5.1/Lib/test/decimaltestdata/abs.decTest 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   448
python2.5-2.5.1/Lib/test/decimaltestdata/add.decTest 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   449
python2.5-2.5.1/Lib/test/decimaltestdata/base.decTest 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   450
python2.5-2.5.1/Lib/test/decimaltestdata/clamp.decTest 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   451
python2.5-2.5.1/Lib/test/decimaltestdata/compare.decTest 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   452
python2.5-2.5.1/Lib/test/decimaltestdata/decimal128.decTest 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   453
python2.5-2.5.1/Lib/test/decimaltestdata/decimal32.decTest 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   454
python2.5-2.5.1/Lib/test/decimaltestdata/decimal64.decTest 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   455
python2.5-2.5.1/Lib/test/decimaltestdata/divide.decTest 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   456
python2.5-2.5.1/Lib/test/decimaltestdata/divideint.decTest 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   457
python2.5-2.5.1/Lib/test/decimaltestdata/inexact.decTest 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   458
python2.5-2.5.1/Lib/test/decimaltestdata/max.decTest 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   459
python2.5-2.5.1/Lib/test/decimaltestdata/min.decTest 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   460
python2.5-2.5.1/Lib/test/decimaltestdata/minus.decTest 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   461
python2.5-2.5.1/Lib/test/decimaltestdata/multiply.decTest 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   462
python2.5-2.5.1/Lib/test/decimaltestdata/normalize.decTest 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   463
python2.5-2.5.1/Lib/test/decimaltestdata/plus.decTest 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   464
python2.5-2.5.1/Lib/test/decimaltestdata/power.decTest 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   465
python2.5-2.5.1/Lib/test/decimaltestdata/quantize.decTest 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   466
python2.5-2.5.1/Lib/test/decimaltestdata/randomBound32.decTest 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   467
python2.5-2.5.1/Lib/test/decimaltestdata/randoms.decTest 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   468
python2.5-2.5.1/Lib/test/decimaltestdata/remainder.decTest 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   469
python2.5-2.5.1/Lib/test/decimaltestdata/remainderNear.decTest 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   470
python2.5-2.5.1/Lib/test/decimaltestdata/rescale.decTest 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   471
python2.5-2.5.1/Lib/test/decimaltestdata/rounding.decTest 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   472
python2.5-2.5.1/Lib/test/decimaltestdata/samequantum.decTest 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   473
python2.5-2.5.1/Lib/test/decimaltestdata/squareroot.decTest 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   474
python2.5-2.5.1/Lib/test/decimaltestdata/subtract.decTest 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   475
python2.5-2.5.1/Lib/test/decimaltestdata/testall.decTest 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   476
python2.5-2.5.1/Lib/test/decimaltestdata/tointegral.decTest 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   477
/Demo/curses/tclock.py python2.5-2.5.1/Modules/expat/ascii.h 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   478
python2.5-2.5.1/Modules/expat/asciitab.h 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   479
python2.5-2.5.1/Modules/expat/expat.h 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   480
python2.5-2.5.1/Modules/expat/expat_external.h 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   481
python2.5-2.5.1/Modules/expat/iasciitab.h 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   482
python2.5-2.5.1/Modules/expat/latin1tab.h 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   483
python2.5-2.5.1/Modules/expat/utf8tab.h 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   484
python2.5-2.5.1/Modules/expat/xmlparse.c 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   485
python2.5-2.5.1/Modules/expat/xmlrole.c 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   486
python2.5-2.5.1/Modules/expat/xmlrole.h 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   487
python2.5-2.5.1/Modules/expat/xmltok.c 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   488
python2.5-2.5.1/Modules/expat/xmltok.h 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   489
python2.5-2.5.1/Modules/expat/xmltok_impl.c 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   490
python2.5-2.5.1/Modules/expat/xmltok_impl.h 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   491
python2.5-2.5.1/Doc/html/about.dat 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   492
python2.5-2.5.1/Doc/html/stdabout.dat 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   493
python2.5-2.5.1/Modules/expat/pyexpatns.h 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   494
python2.5-2.5.1/Lib/robotparser.py 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   495
python2.5-2.5.1/Lib/ctypes/macholib/README.ctypes 
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   496
python2.5-2.5.1/Lib/wsgiref.egg-info
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   497
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   498
Please refer to the document "python 2_5_1 licenses.txt" for licensing info.