Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(484)

Side by Side Diff: doc/manual/filter.html

Issue 1232833004: Update findbugs from 3.0.0 to 3.0.1. (Closed) Base URL: https://chromium.googlesource.com/chromium/deps/findbugs.git@master
Patch Set: Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 <html><head> 1 <html><head>
2 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 2 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
3 <title>Chapter&nbsp;8.&nbsp;Filter Files</title><meta name="generator" conten t="DocBook XSL Stylesheets V1.76.1"><link rel="home" href="index.html" title="Fi ndBugs&#8482; Manual"><link rel="up" href="index.html" title="FindBugs&#8482; Ma nual"><link rel="prev" href="eclipse.html" title="Chapter&nbsp;7.&nbsp;Using the FindBugs&#8482; Eclipse plugin"><link rel="next" href="analysisprops.html" titl e="Chapter&nbsp;9.&nbsp;Analysis Properties"></head><body bgcolor="white" text=" black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><ta ble width="100%" summary="Navigation header"><tr><th colspan="3" align="center"> Chapter&nbsp;8.&nbsp;Filter Files</th></tr><tr><td width="20%" align="left"><a a ccesskey="p" href="eclipse.html">Prev</a>&nbsp;</td><th width="60%" align="cente r">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="analysi sprops.html">Next</a></td></tr></table><hr></div><div class="chapter" title="Cha pter&nbsp;8.&nbsp;Filter Files"><div class="titlepage"><div><div><h2 class="titl e"><a name="filter"></a>Chapter&nbsp;8.&nbsp;Filter Files</h2></div></div></div> <div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a h ref="filter.html#d0e1838">1. Introduction to Filter Files</a></span></dt><dt><sp an class="sect1"><a href="filter.html#d0e1888">2. Types of Match clauses</a></sp an></dt><dt><span class="sect1"><a href="filter.html#d0e2136">3. Java element na me matching</a></span></dt><dt><span class="sect1"><a href="filter.html#d0e2161" >4. Caveats</a></span></dt><dt><span class="sect1"><a href="filter.html#d0e2191" >5. Examples</a></span></dt><dt><span class="sect1"><a href="filter.html#d0e2249 ">6. Complete Example</a></span></dt></dl></div><p> 3 <title>Chapter&nbsp;8.&nbsp;Filter Files</title><meta name="generator" conten t="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="Fi ndBugs&#8482; Manual"><link rel="up" href="index.html" title="FindBugs&#8482; Ma nual"><link rel="prev" href="eclipse.html" title="Chapter&nbsp;7.&nbsp;Using the FindBugs&#8482; Eclipse plugin"><link rel="next" href="analysisprops.html" titl e="Chapter&nbsp;9.&nbsp;Analysis Properties"></head><body bgcolor="white" text=" black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><ta ble width="100%" summary="Navigation header"><tr><th colspan="3" align="center"> Chapter&nbsp;8.&nbsp;Filter Files</th></tr><tr><td width="20%" align="left"><a a ccesskey="p" href="eclipse.html">Prev</a>&nbsp;</td><th width="60%" align="cente r">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="analysi sprops.html">Next</a></td></tr></table><hr></div><div class="chapter"><div class ="titlepage"><div><div><h1 class="title"><a name="filter"></a>Chapter&nbsp;8.&nb sp;Filter Files</h1></div></div></div><div class="toc"><p><b>Table of Contents</ b></p><dl class="toc"><dt><span class="sect1"><a href="filter.html#d0e1880">1. I ntroduction to Filter Files</a></span></dt><dt><span class="sect1"><a href="filt er.html#d0e1930">2. Types of Match clauses</a></span></dt><dt><span class="sect1 "><a href="filter.html#d0e2197">3. Java element name matching</a></span></dt><dt ><span class="sect1"><a href="filter.html#d0e2225">4. Caveats</a></span></dt><dt ><span class="sect1"><a href="filter.html#d0e2255">5. Examples</a></span></dt><d t><span class="sect1"><a href="filter.html#d0e2318">6. Complete Example</a></spa n></dt></dl></div><p>
4 Filter files may be used to include or exclude bug reports for particular classe s 4 Filter files may be used to include or exclude bug reports for particular classe s
5 and methods. This chapter explains how to use filter files. 5 and methods. This chapter explains how to use filter files.
6 6 </p><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style= "clear: both"><a name="d0e1880"></a>1.&nbsp;Introduction to Filter Files</h2></d iv></div></div><p>
7 </p><div class="note" title="Planned Features" style="margin-left: 0.5in; margin -right: 0.5in;"><table border="0" summary="Note: Planned Features"><tr><td rowsp an="2" align="center" valign="top" width="25"><img alt="[Note]" src="note.png">< /td><th align="left">Planned Features</th></tr><tr><td align="left" valign="top" ><p>
8 Filters are currently only supported by the Command Line interface.
9 Eventually, filter support will be added to the GUI.
10 </p></td></tr></table></div><p>
11 </p><div class="sect1" title="1.&nbsp;Introduction to Filter Files"><div class=" titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1838"></a >1.&nbsp;Introduction to Filter Files</h2></div></div></div><p>
12 Conceptually, a filter matches bug instances against a set of criteria. 7 Conceptually, a filter matches bug instances against a set of criteria.
13 By defining a filter, you can select bug instances for special treatment; 8 By defining a filter, you can select bug instances for special treatment;
14 for example, to exclude or include them in a report. 9 for example, to exclude or include them in a report.
15 </p><p> 10 </p><p>
16 A filter file is an <a class="ulink" href="http://www.w3.org/XML/" target="_top" >XML</a> document with a top-level <code class="literal">FindBugsFilter</code> e lement 11 A filter file is an <a class="ulink" href="http://www.w3.org/XML/" target="_top" >XML</a> document with a top-level <code class="literal">FindBugsFilter</code> e lement
17 which has some number of <code class="literal">Match</code> elements as children . Each <code class="literal">Match</code> 12 which has some number of <code class="literal">Match</code> elements as children . Each <code class="literal">Match</code>
18 element represents a predicate which is applied to generated bug instances. 13 element represents a predicate which is applied to generated bug instances.
19 Usually, a filter will be used to exclude bug instances. For example: 14 Usually, a filter will be used to exclude bug instances. For example:
20 15
21 </p><pre class="screen"> 16 </p><pre class="screen">
22 <code class="prompt">$ </code><span class="command"><strong>findbugs -textui -ex clude <em class="replaceable"><code>myExcludeFilter.xml</code></em> <em class="r eplaceable"><code>myApp.jar</code></em></strong></span> 17 <code class="prompt">$ </code><span class="command"><strong>findbugs -textui -ex clude <em class="replaceable"><code>myExcludeFilter.xml</code></em> <em class="r eplaceable"><code>myApp.jar</code></em></strong></span>
23 </pre><p> 18 </pre><p>
24 19
25 However, a filter could also be used to select bug instances to specifically 20 However, a filter could also be used to select bug instances to specifically
26 report: 21 report:
27 22
28 </p><pre class="screen"> 23 </p><pre class="screen">
29 <code class="prompt">$ </code><span class="command"><strong>findbugs -textui -in clude <em class="replaceable"><code>myIncludeFilter.xml</code></em> <em class="r eplaceable"><code>myApp.jar</code></em></strong></span> 24 <code class="prompt">$ </code><span class="command"><strong>findbugs -textui -in clude <em class="replaceable"><code>myIncludeFilter.xml</code></em> <em class="r eplaceable"><code>myApp.jar</code></em></strong></span>
30 </pre><p> 25 </pre><p>
31 </p><p> 26 </p><p>
32 <code class="literal">Match</code> elements contain children, which are conjunct s of the predicate. 27 <code class="literal">Match</code> elements contain children, which are conjunct s of the predicate.
33 In other words, each of the children must be true for the predicate to be true. 28 In other words, each of the children must be true for the predicate to be true.
34 </p></div><div class="sect1" title="2.&nbsp;Types of Match clauses"><div class=" titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1888"></a >2.&nbsp;Types of Match clauses</h2></div></div></div><div class="variablelist"> <dl><dt><span class="term"><code class="literal">&lt;Bug&gt;</code></span></dt>< dd><p> 29 </p></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1930"></a>2.&nbsp;Types of Match clauses</h2></d iv></div></div><div class="variablelist"><dl class="variablelist"><dt><span clas s="term"><code class="literal">&lt;Bug&gt;</code></span></dt><dd><p>
35 This element specifies a particular bug pattern or patterns to match . 30 This element specifies a particular bug pattern or patterns to match .
36 The <code class="literal">pattern</code> attribute is a comma-separa ted list of 31 The <code class="literal">pattern</code> attribute is a comma-separa ted list of
37 bug pattern types. You can find the bug pattern types for particula r 32 bug pattern types. You can find the bug pattern types for particula r
38 warnings by looking at the output produced by the <span class="comma nd"><strong>-xml</strong></span> 33 warnings by looking at the output produced by the <span class="comma nd"><strong>-xml</strong></span>
39 output option (the <code class="literal">type</code> attribute of <c ode class="literal">BugInstance</code> 34 output option (the <code class="literal">type</code> attribute of <c ode class="literal">BugInstance</code>
40 elements), or from the <a class="ulink" href="../bugDescriptions.htm l" target="_top">bug 35 elements), or from the <a class="ulink" href="../bugDescriptions.htm l" target="_top">bug
41 descriptions document</a>. 36 descriptions document</a>.
42 </p><p> 37 </p><p>
43 For more coarse-grained matching, use <code class="literal">code< /code> attribute. It takes 38 For more coarse-grained matching, use <code class="literal">code< /code> attribute. It takes
44 a comma-separated list of bug abbreviations. For most-coarse grai ned matching use 39 a comma-separated list of bug abbreviations. For most-coarse grai ned matching use
(...skipping 24 matching lines...) Expand all
69 between 1 and 20, where 1 to 4 are scariest, 5 to 9 scary, 10 to 14 troubling, 64 between 1 and 20, where 1 to 4 are scariest, 5 to 9 scary, 10 to 14 troubling,
70 and 15 to 20 of concern bugs. 65 and 15 to 20 of concern bugs.
71 </p></dd><dt><span class="term"><code class="literal">&lt;Package&gt;</c ode></span></dt><dd><p> 66 </p></dd><dt><span class="term"><code class="literal">&lt;Package&gt;</c ode></span></dt><dd><p>
72 This element matches warnings associated with classes within the pac kage specified 67 This element matches warnings associated with classes within the pac kage specified
73 using <code class="literal">name</code> attribute. Nested packages a re not included (along the 68 using <code class="literal">name</code> attribute. Nested packages a re not included (along the
74 lines of Java import statement). However matching multiple packages can be achieved 69 lines of Java import statement). However matching multiple packages can be achieved
75 easily using regex name match. 70 easily using regex name match.
76 </p></dd><dt><span class="term"><code class="literal">&lt;Class&gt;</cod e></span></dt><dd><p> 71 </p></dd><dt><span class="term"><code class="literal">&lt;Class&gt;</cod e></span></dt><dd><p>
77 This element matches warnings associated with a particular class. Th e 72 This element matches warnings associated with a particular class. Th e
78 <code class="literal">name</code> attribute is used to specify the e xact or regex match pattern 73 <code class="literal">name</code> attribute is used to specify the e xact or regex match pattern
79 for the class name. 74 for the class name. The <code class="literal">role</code> attribute is the class role.
80 </p><p> 75 </p><p>
81 As a backward compatibility measure, instead of element of this type , you can use 76 As a backward compatibility measure, instead of element of this type , you can use
82 <code class="literal">class</code> attribute on a <code class="lite ral">Match</code> element to specify 77 <code class="literal">class</code> attribute on a <code class="lite ral">Match</code> element to specify
83 exact an class name or <code class="literal">classregex</code> attr ibute to specify a regular 78 exact an class name or <code class="literal">classregex</code> attr ibute to specify a regular
84 expression to match the class name against. 79 expression to match the class name against.
85 </p><p> 80 </p><p>
86 If the <code class="literal">Match</code> element contains neither a <code class="literal">Class</code> element, 81 If the <code class="literal">Match</code> element contains neither a <code class="literal">Class</code> element,
87 nor a <code class="literal">class</code> / <code class="literal">cla ssregex</code> attribute, the predicate will apply 82 nor a <code class="literal">class</code> / <code class="literal">cla ssregex</code> attribute, the predicate will apply
88 to all classes. Such predicate is likely to match more bug instances than you want, unless it is 83 to all classes. Such predicate is likely to match more bug instances than you want, unless it is
89 refined further down with apropriate method or field predicates. 84 refined further down with apropriate method or field predicates.
85 </p></dd><dt><span class="term"><code class="literal">&lt;Source&gt;</co de></span></dt><dd><p>
86 This element matches warnings associated with a particular source fi le. The
87 <code class="literal">name</code> attribute is used to specify the e xact or regex match pattern
88 for the source file name.
90 </p></dd><dt><span class="term"><code class="literal">&lt;Method&gt;</co de></span></dt><dd><p>This element specifies a method. The <code class="literal ">name</code> is used to specify 89 </p></dd><dt><span class="term"><code class="literal">&lt;Method&gt;</co de></span></dt><dd><p>This element specifies a method. The <code class="literal ">name</code> is used to specify
91 the exact or regex match pattern for the method name. 90 the exact or regex match pattern for the method name.
92 The <code class="literal">params</code> attribute is a comma-separated list 91 The <code class="literal">params</code> attribute is a comma-separated list
93 of the types of the method's parameters. The <code class="literal">returns</ code> attribute is 92 of the types of the method's parameters. The <code class="literal">returns</ code> attribute is
94 the method's return type. In <code class="literal">params</code> and <code c lass="literal">returns</code>, class names 93 the method's return type. The <code class="literal">role</code> attribute is
94 the method role. In <code class="literal">params</code> and <code class="lite ral">returns</code>, class names
95 must be fully qualified. (E.g., "java.lang.String" instead of just 95 must be fully qualified. (E.g., "java.lang.String" instead of just
96 "String".) If one of the latter attributes is specified the other is required for creating a method signature. 96 "String".) If one of the latter attributes is specified the other is required for creating a method signature.
97 Note that you can provide either <code class="literal">name</code> attribute or <code class="literal">params</code> 97 Note that you can provide either <code class="literal">name</code> attribute or <code class="literal">params</code>
98 and <code class="literal">returns</code> attributes or all three of them. Thi s way you can provide various kinds of 98 and <code class="literal">returns</code> attributes or all three of them. Thi s way you can provide various kinds of
99 name and signature based matches. 99 name and signature based matches.
100 </p></dd><dt><span class="term"><code class="literal">&lt;Field&gt;</code></s pan></dt><dd><p>This element specifies a field. The <code class="literal">name</ code> attribute is is used to specify 100 </p></dd><dt><span class="term"><code class="literal">&lt;Field&gt;</code></s pan></dt><dd><p>This element specifies a field. The <code class="literal">name</ code> attribute is is used to specify
101 the exact or regex match pattern for the field name. You can also filter fiel ds according to their signature - 101 the exact or regex match pattern for the field name. You can also filter fiel ds according to their signature -
102 use <code class="literal">type</code> attribute to specify fully qualified ty pe of the field. You can specify eiter or both 102 use <code class="literal">type</code> attribute to specify fully qualified ty pe of the field. You can specify eiter or both
103 of these attributes in order to perform name / signature based matches. 103 of these attributes in order to perform name / signature based matches. The < code class="literal">role</code> attribute is
104 the field role.
104 </p></dd><dt><span class="term"><code class="literal">&lt;Local&gt;</code></s pan></dt><dd><p>This element specifies a local variable. The <code class="litera l">name</code> attribute is is used to specify 105 </p></dd><dt><span class="term"><code class="literal">&lt;Local&gt;</code></s pan></dt><dd><p>This element specifies a local variable. The <code class="litera l">name</code> attribute is is used to specify
105 the exact or regex match pattern for the local variable name. Local variables are variables defined within a method. 106 the exact or regex match pattern for the local variable name. Local variables are variables defined within a method.
106 </p></dd><dt><span class="term"><code class="literal">&lt;Or&gt;</code></span ></dt><dd><p> 107 </p></dd><dt><span class="term"><code class="literal">&lt;Or&gt;</code></span ></dt><dd><p>
107 This element combines <code class="literal">Match</code> clauses as disjuncts . I.e., you can put two 108 This element combines <code class="literal">Match</code> clauses as disjuncts . I.e., you can put two
108 <code class="literal">Method</code> elements in an <code class="literal">Or</ code> clause in order to match either method. 109 <code class="literal">Method</code> elements in an <code class="literal">Or</ code> clause in order to match either method.
109 </p></dd><dt><span class="term"><code class="literal">&lt;And&gt;</code></spa n></dt><dd><p> 110 </p></dd><dt><span class="term"><code class="literal">&lt;And&gt;</code></spa n></dt><dd><p>
110 This element combines <code class="literal">Match</code> clauses which both m ust evaluate to true. I.e., you can put 111 This element combines <code class="literal">Match</code> clauses which both m ust evaluate to true. I.e., you can put
111 <code class="literal">Bug</code> and <code class="literal">Priority</code> el ements in an <code class="literal">And</code> clause in order 112 <code class="literal">Bug</code> and <code class="literal">Confidence</code> elements in an <code class="literal">And</code> clause in order
112 to match specific bugs with given priority only. 113 to match specific bugs with given confidence only.
113 </p></dd><dt><span class="term"><code class="literal">&lt;Not&gt;</code></spa n></dt><dd><p> 114 </p></dd><dt><span class="term"><code class="literal">&lt;Not&gt;</code></spa n></dt><dd><p>
114 This element inverts the included child <code class="literal">Match</code>. I .e., you can put a 115 This element inverts the included child <code class="literal">Match</code>. I .e., you can put a
115 <code class="literal">Bug</code> element in a <code class="literal">Not</code > clause in order to match any bug 116 <code class="literal">Bug</code> element in a <code class="literal">Not</code > clause in order to match any bug
116 excluding the given one. 117 excluding the given one.
117 </p></dd></dl></div></div><div class="sect1" title="3.&nbsp;Java element name matching"><div class="titlepage"><div><div><h2 class="title" style="clear: both "><a name="d0e2136"></a>3.&nbsp;Java element name matching</h2></div></div></div ><p> 118 </p></dd></dl></div></div><div class="sect1"><div class="titlepage"><div><div ><h2 class="title" style="clear: both"><a name="d0e2197"></a>3.&nbsp;Java elemen t name matching</h2></div></div></div><p>
118 If the <code class="literal">name</code> attribute of <code class="literal">Clas s</code>, <code class="literal">Method</code> or 119 If the <code class="literal">name</code> attribute of <code class="literal">Clas s</code>, <code class="literal">Source</code>,
119 <code class="literal">Field</code> starts with the ~ character the rest of attri bute content is interpreted as 120 <code class="literal">Method</code> or <code class="literal">Field</code> starts with the ~ character
121 the rest of attribute content is interpreted as
120 a Java regular expression that is matched against the names of the Java element in question. 122 a Java regular expression that is matched against the names of the Java element in question.
121 </p><p> 123 </p><p>
122 Note that the pattern is matched against whole element name and therefore .* cla uses need to be used 124 Note that the pattern is matched against whole element name and therefore .* cla uses need to be used
123 at pattern beginning and/or end to perform substring matching. 125 at pattern beginning and/or end to perform substring matching.
124 </p><p> 126 </p><p>
125 See <a class="ulink" href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/reg ex/Pattern.html" target="_top"><code class="literal">java.util.regex.Pattern</co de></a> 127 See <a class="ulink" href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/reg ex/Pattern.html" target="_top"><code class="literal">java.util.regex.Pattern</co de></a>
126 documentation for pattern syntax. 128 documentation for pattern syntax.
127 </p></div><div class="sect1" title="4.&nbsp;Caveats"><div class="titlepage"><div ><div><h2 class="title" style="clear: both"><a name="d0e2161"></a>4.&nbsp;Caveat s</h2></div></div></div><p> 129 </p></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e2225"></a>4.&nbsp;Caveats</h2></div></div></div> <p>
128 <code class="literal">Match</code> clauses can only match information that is ac tually contained in the 130 <code class="literal">Match</code> clauses can only match information that is ac tually contained in the
129 bug instances. Every bug instance has a class, so in general, excluding 131 bug instances. Every bug instance has a class, so in general, excluding
130 bugs by class will work. 132 bugs by class will work.
131 </p><p> 133 </p><p>
132 Some bug instances have two (or more) classes. For example, the DE (dropped exc eption) 134 Some bug instances have two (or more) classes. For example, the DE (dropped exc eption)
133 bugs report both the class containing the method where the dropped exception 135 bugs report both the class containing the method where the dropped exception
134 happens, and the class which represents the type of the dropped exception. 136 happens, and the class which represents the type of the dropped exception.
135 Only the <span class="emphasis"><em>first</em></span> (primary) class is matched against <code class="literal">Match</code> clauses. 137 Only the <span class="emphasis"><em>first</em></span> (primary) class is matched against <code class="literal">Match</code> clauses.
136 So, for example, if you want to suppress IC (initialization circularity) 138 So, for example, if you want to suppress IC (initialization circularity)
137 reports for classes "com.foobar.A" and "com.foobar.B", you would use 139 reports for classes "com.foobar.A" and "com.foobar.B", you would use
(...skipping 13 matching lines...) Expand all
151 153
152 By explicitly matching both classes, you ensure that the IC bug instance will be 154 By explicitly matching both classes, you ensure that the IC bug instance will be
153 matched regardless of which class involved in the circularity happens to be 155 matched regardless of which class involved in the circularity happens to be
154 listed first in the bug instance. (Of course, this approach might accidentally 156 listed first in the bug instance. (Of course, this approach might accidentally
155 supress circularities involving "com.foobar.A" or "com.foobar.B" and a third 157 supress circularities involving "com.foobar.A" or "com.foobar.B" and a third
156 class.) 158 class.)
157 </p><p> 159 </p><p>
158 Many kinds of bugs report what method they occur in. For those bug instances, 160 Many kinds of bugs report what method they occur in. For those bug instances,
159 you can put <code class="literal">Method</code> clauses in the <code class="lite ral">Match</code> element and they should work 161 you can put <code class="literal">Method</code> clauses in the <code class="lite ral">Match</code> element and they should work
160 as expected. 162 as expected.
161 </p></div><div class="sect1" title="5.&nbsp;Examples"><div class="titlepage"><di v><div><h2 class="title" style="clear: both"><a name="d0e2191"></a>5.&nbsp;Examp les</h2></div></div></div><p> 163 </p></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e2255"></a>5.&nbsp;Examples</h2></div></div></div ><p>
162 1. Match all bug reports for a class. 164 1. Match all bug reports for a class.
163 165
164 </p><pre class="programlisting"> 166 </p><pre class="programlisting">
165 167
166 &lt;Match&gt; 168 &lt;Match&gt;
167 &lt;Class name="com.foobar.MyClass" /&gt; 169 &lt;Class name="com.foobar.MyClass" /&gt;
168 &lt;/Match&gt; 170 &lt;/Match&gt;
169 171
170 </pre><p> 172 </pre><p>
171 173
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
307 309
308 &lt;Class name="~.*\.*Test" /&gt; 310 &lt;Class name="~.*\.*Test" /&gt;
309 &lt;!-- test classes are suffixed by 'Test' --&gt; 311 &lt;!-- test classes are suffixed by 'Test' --&gt;
310 312
311 &lt;Not&gt; 313 &lt;Not&gt;
312 &lt;Bug code="IJU" /&gt; &lt;!-- 'IJU' is the code for bugs related to JUn it test code --&gt; 314 &lt;Bug code="IJU" /&gt; &lt;!-- 'IJU' is the code for bugs related to JUn it test code --&gt;
313 &lt;/Not&gt; 315 &lt;/Not&gt;
314 &lt;/Match&gt; 316 &lt;/Match&gt;
315 317
316 </pre><p> 318 </pre><p>
317 </p></div><div class="sect1" title="6.&nbsp;Complete Example"><div class="titlep age"><div><div><h2 class="title" style="clear: both"><a name="d0e2249"></a>6.&nb sp;Complete Example</h2></div></div></div><pre class="programlisting"> 319 </p><p>
320 12. Full exclusion filter file to match all classes generated from Groovy sour ce files.
321
322 </p><pre class="programlisting">
323
324 &lt;?xml version="1.0" encoding="UTF-8"?&gt;
325 &lt;FindBugsFilter&gt;
326 &lt;Match&gt;
327 &lt;Source name="~.*\.groovy" /&gt;
328 &lt;/Match&gt;
329 &lt;/FindBugsFilter&gt;
330
331 </pre><p>
332 </p></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e2318"></a>6.&nbsp;Complete Example</h2></div></d iv></div><pre class="programlisting">
318 333
319 &lt;FindBugsFilter&gt; 334 &lt;FindBugsFilter&gt;
320 &lt;Match&gt; 335 &lt;Match&gt;
321 &lt;Class name="com.foobar.ClassNotToBeAnalyzed" /&gt; 336 &lt;Class name="com.foobar.ClassNotToBeAnalyzed" /&gt;
322 &lt;/Match&gt; 337 &lt;/Match&gt;
323 338
324 &lt;Match&gt; 339 &lt;Match&gt;
325 &lt;Class name="com.foobar.ClassWithSomeBugsMatched" /&gt; 340 &lt;Class name="com.foobar.ClassWithSomeBugsMatched" /&gt;
326 &lt;Bug code="DE,UrF,SIC" /&gt; 341 &lt;Bug code="DE,UrF,SIC" /&gt;
327 &lt;/Match&gt; 342 &lt;/Match&gt;
(...skipping 26 matching lines...) Expand all
354 &lt;Match&gt; 369 &lt;Match&gt;
355 &lt;Class name="~.*\.*Test" /&gt; 370 &lt;Class name="~.*\.*Test" /&gt;
356 &lt;Not&gt; 371 &lt;Not&gt;
357 &lt;Bug code="IJU" /&gt; 372 &lt;Bug code="IJU" /&gt;
358 &lt;/Not&gt; 373 &lt;/Not&gt;
359 &lt;/Match&gt; 374 &lt;/Match&gt;
360 375
361 &lt;/FindBugsFilter&gt; 376 &lt;/FindBugsFilter&gt;
362 377
363 </pre></div></div><div class="navfooter"><hr><table width="100%" summary="Naviga tion footer"><tr><td width="40%" align="left"><a accesskey="p" href="eclipse.htm l">Prev</a>&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;<a accesskey="n" href="analysisprops.html">Next</a></td></tr ><tr><td width="40%" align="left" valign="top">Chapter&nbsp;7.&nbsp;Using the <s pan class="application">FindBugs</span>&#8482; Eclipse plugin&nbsp;</td><td widt h="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width ="40%" align="right" valign="top">&nbsp;Chapter&nbsp;9.&nbsp;Analysis Properties </td></tr></table></div></body></html> 378 </pre></div></div><div class="navfooter"><hr><table width="100%" summary="Naviga tion footer"><tr><td width="40%" align="left"><a accesskey="p" href="eclipse.htm l">Prev</a>&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;<a accesskey="n" href="analysisprops.html">Next</a></td></tr ><tr><td width="40%" align="left" valign="top">Chapter&nbsp;7.&nbsp;Using the <s pan class="application">FindBugs</span>&#8482; Eclipse plugin&nbsp;</td><td widt h="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width ="40%" align="right" valign="top">&nbsp;Chapter&nbsp;9.&nbsp;Analysis Properties </td></tr></table></div></body></html>
OLDNEW
« README.chromium ('K') | « doc/manual/eclipse.html ('k') | doc/manual/gui.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698