Gendarme Task

Gendarme is a extensible rule-based tool to find problems in .NET applications and libraries. Gendarme inspects programs and libraries that contain code in ECMA CIL format (Mono and .NET) and looks for common problems with the code, problems that compiler do not typically check or have not historically checked. Website:


See Using CruiseControl.NET with Gendarme for more details.


Available from version 1.4.3


Minimalist example

2  <assemblies>
3    <assemblyMatch expr="*.dll" />
4    <assemblyMatch expr="*.exe" />
5  </assemblies>

Full example

 2  <executable>Tools\gendarme.exe</executable>
 3  <baseDirectory>C:\Build\Project1\Bin\Debug\</baseDirectory>
 4  <configFile>rules.xml</configFile>
 5  <ruleSet>*</ruleSet>
 6  <ignoreFile>C:\Build\Project1\gendarme.ignore.list.txt</ignoreFile>
 7  <limit>200</limit>
 8  <severity>medium+</severity>
 9  <confidence>normal+</confidence>
10  <quiet>FALSE</quiet>
11  <verbose>TRUE</verbose>
12  <failBuildOnFoundDefects>TRUE</failBuildOnFoundDefects>
13  <verifyTimeoutSeconds>600</verifyTimeoutSeconds>
14  <assemblyListFile>C:\Build\Project1\gendarme.assembly.list.txt</assemblyListFile>
15  <description>Test description</description>

Configuration Elements

Element Description Type Required Default Version
assemblies Specify the assemblies to verify. You can specify multiple filenames, including masks (? and \*). Assembly Match array No None 1.4.3
assemblyListFile Specify a file that contains the assemblies to verify. You can specify multiple filenames, including masks (? and \*), one by line. String No None 1.4.3
confidence Filter the reported defects to include the specified confidence levels.
*"--confidence \[all \
low\[\+\] \ normal\[\+\ -\] \ high\[\+\ -\] \ total\[-\]\],..."* String No normal\+ 1.4.3
configFile Specify the configuration file.
Maps to "--config configfile"
String No rules.xml 1.4.3
baseDirectory The directory to run Gendarme in. String No Project Working Directory 1.4.3
description Description used for the visualisation of the buildstage, if left empty the process name will be shown. String No The task/publisher name. 143
dynamicValues The dynamic values to use for the task. Dynamic Values array No None 143
environment A set of environment variables set for commands that are executed.
Each variable should be specified as
1<variable name="name" value="value" />

Environment Variable array No
executable The location of the Gendarme executable. String No gendarme 1.4.3
failBuildOnFoundDefects Specify whenver the build should fail if some defects are found by Gendarme. Boolean No false 1.4.3
ignoreFile Do not report the known defects that are part of the specified file.
Maps to "--ignore ignore-file"
String No None 1.4.3
limit Stop reporting after N defects are found.
Maps to "--limit N"
Int32 No -1 1.4.3
priority The priority class of the spawned process. String - one of:
* Normal
* Idle
* High
* RealTime
* BelowNormal
* AboveNormal
No Normal 143
quiet If true, display minimal output (results) from the runner. Boolean No false 1.4.3
ruleSet Specify the set of rules to verify.
Maps to "--set ruleset"
String No \* 1.4.3
severity Filter the reported defects to include the specified severity levels.
*Maps to "--severity \[all \
audit\[\+\] \ low\[\+\ -\] \ medium\[\+\ -\] \ high\[\+\ -\] \ critical\[-\]\],..."* String No Medium\+ 1.4.3
verbose Enable debugging output. Boolean No false 1.4.3
verifyTimeoutSeconds The maximum number of seconds that the build may take. If the build process takes longer than this period, it will be killed. Specify this value as zero to disable process timeouts. Int32 No 0 1.4.3

Automatically Generated

Documentation generated on Monday, 26 May 2014 at 7:18:04 AM