OLD | NEW |
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 8. Filter Files</title><meta name="generator" conten
t="DocBook XSL Stylesheets V1.76.1"><link rel="home" href="index.html" title="Fi
ndBugs™ Manual"><link rel="up" href="index.html" title="FindBugs™ Ma
nual"><link rel="prev" href="eclipse.html" title="Chapter 7. Using the
FindBugs™ Eclipse plugin"><link rel="next" href="analysisprops.html" titl
e="Chapter 9. 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 8. Filter Files</th></tr><tr><td width="20%" align="left"><a a
ccesskey="p" href="eclipse.html">Prev</a> </td><th width="60%" align="cente
r"> </th><td width="20%" align="right"> <a accesskey="n" href="analysi
sprops.html">Next</a></td></tr></table><hr></div><div class="chapter" title="Cha
pter 8. Filter Files"><div class="titlepage"><div><div><h2 class="titl
e"><a name="filter"></a>Chapter 8. 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 8. Filter Files</title><meta name="generator" conten
t="DocBook XSL Stylesheets V1.76.1"><link rel="home" href="index.html" title="Fi
ndBugs™ Manual"><link rel="up" href="index.html" title="FindBugs™ Ma
nual"><link rel="prev" href="eclipse.html" title="Chapter 7. Using the
FindBugs™ Eclipse plugin"><link rel="next" href="analysisprops.html" titl
e="Chapter 9. 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 8. Filter Files</th></tr><tr><td width="20%" align="left"><a a
ccesskey="p" href="eclipse.html">Prev</a> </td><th width="60%" align="cente
r"> </th><td width="20%" align="right"> <a accesskey="n" href="analysi
sprops.html">Next</a></td></tr></table><hr></div><div class="chapter" title="Cha
pter 8. Filter Files"><div class="titlepage"><div><div><h2 class="titl
e"><a name="filter"></a>Chapter 8. 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#d0e1879">1. Introduction to Filter Files</a></span></dt><dt><sp
an class="sect1"><a href="filter.html#d0e1929">2. Types of Match clauses</a></sp
an></dt><dt><span class="sect1"><a href="filter.html#d0e2187">3. Java element na
me matching</a></span></dt><dt><span class="sect1"><a href="filter.html#d0e2215"
>4. Caveats</a></span></dt><dt><span class="sect1"><a href="filter.html#d0e2245"
>5. Examples</a></span></dt><dt><span class="sect1"><a href="filter.html#d0e2308
">6. Complete Example</a></span></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 |
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> | 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. | 8 Filters are currently only supported by the Command Line interface. |
9 Eventually, filter support will be added to the GUI. | 9 Eventually, filter support will be added to the GUI. |
10 </p></td></tr></table></div><p> | 10 </p></td></tr></table></div><p> |
11 </p><div class="sect1" title="1. Introduction to Filter Files"><div class="
titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1838"></a
>1. Introduction to Filter Files</h2></div></div></div><p> | 11 </p><div class="sect1" title="1. Introduction to Filter Files"><div class="
titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1879"></a
>1. Introduction to Filter Files</h2></div></div></div><p> |
12 Conceptually, a filter matches bug instances against a set of criteria. | 12 Conceptually, a filter matches bug instances against a set of criteria. |
13 By defining a filter, you can select bug instances for special treatment; | 13 By defining a filter, you can select bug instances for special treatment; |
14 for example, to exclude or include them in a report. | 14 for example, to exclude or include them in a report. |
15 </p><p> | 15 </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 | 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 |
17 which has some number of <code class="literal">Match</code> elements as children
. Each <code class="literal">Match</code> | 17 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. | 18 element represents a predicate which is applied to generated bug instances. |
19 Usually, a filter will be used to exclude bug instances. For example: | 19 Usually, a filter will be used to exclude bug instances. For example: |
20 | 20 |
21 </p><pre class="screen"> | 21 </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> | 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> |
23 </pre><p> | 23 </pre><p> |
24 | 24 |
25 However, a filter could also be used to select bug instances to specifically | 25 However, a filter could also be used to select bug instances to specifically |
26 report: | 26 report: |
27 | 27 |
28 </p><pre class="screen"> | 28 </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> | 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> |
30 </pre><p> | 30 </pre><p> |
31 </p><p> | 31 </p><p> |
32 <code class="literal">Match</code> elements contain children, which are conjunct
s of the predicate. | 32 <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. | 33 In other words, each of the children must be true for the predicate to be true. |
34 </p></div><div class="sect1" title="2. Types of Match clauses"><div class="
titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1888"></a
>2. Types of Match clauses</h2></div></div></div><div class="variablelist">
<dl><dt><span class="term"><code class="literal"><Bug></code></span></dt><
dd><p> | 34 </p></div><div class="sect1" title="2. Types of Match clauses"><div class="
titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1929"></a
>2. Types of Match clauses</h2></div></div></div><div class="variablelist">
<dl><dt><span class="term"><code class="literal"><Bug></code></span></dt><
dd><p> |
35 This element specifies a particular bug pattern or patterns to match
. | 35 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 | 36 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 | 37 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> | 38 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> | 39 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 | 40 elements), or from the <a class="ulink" href="../bugDescriptions.htm
l" target="_top">bug |
41 descriptions document</a>. | 41 descriptions document</a>. |
42 </p><p> | 42 </p><p> |
43 For more coarse-grained matching, use <code class="literal">code<
/code> attribute. It takes | 43 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 | 44 a comma-separated list of bug abbreviations. For most-coarse grai
ned matching use |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
80 </p><p> | 80 </p><p> |
81 As a backward compatibility measure, instead of element of this type
, you can use | 81 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 | 82 <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 | 83 exact an class name or <code class="literal">classregex</code> attr
ibute to specify a regular |
84 expression to match the class name against. | 84 expression to match the class name against. |
85 </p><p> | 85 </p><p> |
86 If the <code class="literal">Match</code> element contains neither a
<code class="literal">Class</code> element, | 86 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 | 87 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 | 88 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. | 89 refined further down with apropriate method or field predicates. |
| 90 </p></dd><dt><span class="term"><code class="literal"><Source></co
de></span></dt><dd><p> |
| 91 This element matches warnings associated with a particular source fi
le. The |
| 92 <code class="literal">name</code> attribute is used to specify the e
xact or regex match pattern |
| 93 for the source file name. |
90 </p></dd><dt><span class="term"><code class="literal"><Method></co
de></span></dt><dd><p>This element specifies a method. The <code class="literal
">name</code> is used to specify | 94 </p></dd><dt><span class="term"><code class="literal"><Method></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. | 95 the exact or regex match pattern for the method name. |
92 The <code class="literal">params</code> attribute is a comma-separated list | 96 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 | 97 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 | 98 the method's return type. In <code class="literal">params</code> and <code c
lass="literal">returns</code>, class names |
95 must be fully qualified. (E.g., "java.lang.String" instead of just | 99 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. | 100 "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> | 101 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 | 102 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. | 103 name and signature based matches. |
100 </p></dd><dt><span class="term"><code class="literal"><Field></code></s
pan></dt><dd><p>This element specifies a field. The <code class="literal">name</
code> attribute is is used to specify | 104 </p></dd><dt><span class="term"><code class="literal"><Field></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 - | 105 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 | 106 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. | 107 of these attributes in order to perform name / signature based matches. |
104 </p></dd><dt><span class="term"><code class="literal"><Local></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 | 108 </p></dd><dt><span class="term"><code class="literal"><Local></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. | 109 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"><Or></code></span
></dt><dd><p> | 110 </p></dd><dt><span class="term"><code class="literal"><Or></code></span
></dt><dd><p> |
107 This element combines <code class="literal">Match</code> clauses as disjuncts
. I.e., you can put two | 111 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. | 112 <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"><And></code></spa
n></dt><dd><p> | 113 </p></dd><dt><span class="term"><code class="literal"><And></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 | 114 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 | 115 <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. | 116 to match specific bugs with given confidence only. |
113 </p></dd><dt><span class="term"><code class="literal"><Not></code></spa
n></dt><dd><p> | 117 </p></dd><dt><span class="term"><code class="literal"><Not></code></spa
n></dt><dd><p> |
114 This element inverts the included child <code class="literal">Match</code>. I
.e., you can put a | 118 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 | 119 <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. | 120 excluding the given one. |
117 </p></dd></dl></div></div><div class="sect1" title="3. Java element name
matching"><div class="titlepage"><div><div><h2 class="title" style="clear: both
"><a name="d0e2136"></a>3. Java element name matching</h2></div></div></div
><p> | 121 </p></dd></dl></div></div><div class="sect1" title="3. Java element name
matching"><div class="titlepage"><div><div><h2 class="title" style="clear: both
"><a name="d0e2187"></a>3. Java element 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 | 122 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 | 123 <code class="literal">Method</code> or <code class="literal">Field</code> starts
with the ~ character |
| 124 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. | 125 a Java regular expression that is matched against the names of the Java element
in question. |
121 </p><p> | 126 </p><p> |
122 Note that the pattern is matched against whole element name and therefore .* cla
uses need to be used | 127 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. | 128 at pattern beginning and/or end to perform substring matching. |
124 </p><p> | 129 </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> | 130 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. | 131 documentation for pattern syntax. |
127 </p></div><div class="sect1" title="4. Caveats"><div class="titlepage"><div
><div><h2 class="title" style="clear: both"><a name="d0e2161"></a>4. Caveat
s</h2></div></div></div><p> | 132 </p></div><div class="sect1" title="4. Caveats"><div class="titlepage"><div
><div><h2 class="title" style="clear: both"><a name="d0e2215"></a>4. Caveat
s</h2></div></div></div><p> |
128 <code class="literal">Match</code> clauses can only match information that is ac
tually contained in the | 133 <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 | 134 bug instances. Every bug instance has a class, so in general, excluding |
130 bugs by class will work. | 135 bugs by class will work. |
131 </p><p> | 136 </p><p> |
132 Some bug instances have two (or more) classes. For example, the DE (dropped exc
eption) | 137 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 | 138 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. | 139 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. | 140 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) | 141 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 | 142 reports for classes "com.foobar.A" and "com.foobar.B", you would use |
(...skipping 13 matching lines...) Expand all Loading... |
151 | 156 |
152 By explicitly matching both classes, you ensure that the IC bug instance will be | 157 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 | 158 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 | 159 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 | 160 supress circularities involving "com.foobar.A" or "com.foobar.B" and a third |
156 class.) | 161 class.) |
157 </p><p> | 162 </p><p> |
158 Many kinds of bugs report what method they occur in. For those bug instances, | 163 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 | 164 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. | 165 as expected. |
161 </p></div><div class="sect1" title="5. Examples"><div class="titlepage"><di
v><div><h2 class="title" style="clear: both"><a name="d0e2191"></a>5. Examp
les</h2></div></div></div><p> | 166 </p></div><div class="sect1" title="5. Examples"><div class="titlepage"><di
v><div><h2 class="title" style="clear: both"><a name="d0e2245"></a>5. Examp
les</h2></div></div></div><p> |
162 1. Match all bug reports for a class. | 167 1. Match all bug reports for a class. |
163 | 168 |
164 </p><pre class="programlisting"> | 169 </p><pre class="programlisting"> |
165 | 170 |
166 <Match> | 171 <Match> |
167 <Class name="com.foobar.MyClass" /> | 172 <Class name="com.foobar.MyClass" /> |
168 </Match> | 173 </Match> |
169 | 174 |
170 </pre><p> | 175 </pre><p> |
171 | 176 |
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
307 | 312 |
308 <Class name="~.*\.*Test" /> | 313 <Class name="~.*\.*Test" /> |
309 <!-- test classes are suffixed by 'Test' --> | 314 <!-- test classes are suffixed by 'Test' --> |
310 | 315 |
311 <Not> | 316 <Not> |
312 <Bug code="IJU" /> <!-- 'IJU' is the code for bugs related to JUn
it test code --> | 317 <Bug code="IJU" /> <!-- 'IJU' is the code for bugs related to JUn
it test code --> |
313 </Not> | 318 </Not> |
314 </Match> | 319 </Match> |
315 | 320 |
316 </pre><p> | 321 </pre><p> |
317 </p></div><div class="sect1" title="6. 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"> | 322 </p><p> |
| 323 12. Full exclusion filter file to match all classes generated from Groovy sour
ce files. |
| 324 |
| 325 </p><pre class="programlisting"> |
| 326 |
| 327 <?xml version="1.0" encoding="UTF-8"?> |
| 328 <FindBugsFilter> |
| 329 <Match> |
| 330 <Source name="~.*\.groovy" /> |
| 331 </Match> |
| 332 </FindBugsFilter> |
| 333 |
| 334 </pre><p> |
| 335 </p></div><div class="sect1" title="6. Complete Example"><div class="titlep
age"><div><div><h2 class="title" style="clear: both"><a name="d0e2308"></a>6.&nb
sp;Complete Example</h2></div></div></div><pre class="programlisting"> |
318 | 336 |
319 <FindBugsFilter> | 337 <FindBugsFilter> |
320 <Match> | 338 <Match> |
321 <Class name="com.foobar.ClassNotToBeAnalyzed" /> | 339 <Class name="com.foobar.ClassNotToBeAnalyzed" /> |
322 </Match> | 340 </Match> |
323 | 341 |
324 <Match> | 342 <Match> |
325 <Class name="com.foobar.ClassWithSomeBugsMatched" /> | 343 <Class name="com.foobar.ClassWithSomeBugsMatched" /> |
326 <Bug code="DE,UrF,SIC" /> | 344 <Bug code="DE,UrF,SIC" /> |
327 </Match> | 345 </Match> |
(...skipping 26 matching lines...) Expand all Loading... |
354 <Match> | 372 <Match> |
355 <Class name="~.*\.*Test" /> | 373 <Class name="~.*\.*Test" /> |
356 <Not> | 374 <Not> |
357 <Bug code="IJU" /> | 375 <Bug code="IJU" /> |
358 </Not> | 376 </Not> |
359 </Match> | 377 </Match> |
360 | 378 |
361 </FindBugsFilter> | 379 </FindBugsFilter> |
362 | 380 |
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> </td><td width="20%" align="center"> </td><td width="40%"
align="right"> <a accesskey="n" href="analysisprops.html">Next</a></td></tr
><tr><td width="40%" align="left" valign="top">Chapter 7. Using the <s
pan class="application">FindBugs</span>™ Eclipse plugin </td><td widt
h="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width
="40%" align="right" valign="top"> Chapter 9. Analysis Properties
</td></tr></table></div></body></html> | 381 </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> </td><td width="20%" align="center"> </td><td width="40%"
align="right"> <a accesskey="n" href="analysisprops.html">Next</a></td></tr
><tr><td width="40%" align="left" valign="top">Chapter 7. Using the <s
pan class="application">FindBugs</span>™ Eclipse plugin </td><td widt
h="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width
="40%" align="right" valign="top"> Chapter 9. Analysis Properties
</td></tr></table></div></body></html> |
OLD | NEW |