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#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> | 3 <title>Chapter 8. Filter Files</title><meta name="generator" conten
t="DocBook XSL Stylesheets V1.78.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"><div class
="titlepage"><div><div><h1 class="title"><a name="filter"></a>Chapter 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. 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. 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. | 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. 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> | 29 </p></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title"
style="clear: both"><a name="d0e1930"></a>2. Types of Match clauses</h2></d
iv></div></div><div class="variablelist"><dl class="variablelist"><dt><span clas
s="term"><code class="literal"><Bug></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 Loading... |
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"><Package></c
ode></span></dt><dd><p> | 66 </p></dd><dt><span class="term"><code class="literal"><Package></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"><Class></cod
e></span></dt><dd><p> | 71 </p></dd><dt><span class="term"><code class="literal"><Class></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. |
90 </p></dd><dt><span class="term"><code class="literal"><Source></co
de></span></dt><dd><p> | 85 </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 | 86 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 | 87 <code class="literal">name</code> attribute is used to specify the e
xact or regex match pattern |
93 for the source file name. | 88 for the source file name. |
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 | 89 </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 |
95 the exact or regex match pattern for the method name. | 90 the exact or regex match pattern for the method name. |
96 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 |
97 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 |
98 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 |
99 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 |
100 "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. |
101 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> |
102 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 |
103 name and signature based matches. | 99 name and signature based matches. |
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 | 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 |
105 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 - |
106 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 |
107 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. |
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 </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 |
109 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. |
110 </p></dd><dt><span class="term"><code class="literal"><Or></code></span
></dt><dd><p> | 107 </p></dd><dt><span class="term"><code class="literal"><Or></code></span
></dt><dd><p> |
111 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 |
112 <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. |
113 </p></dd><dt><span class="term"><code class="literal"><And></code></spa
n></dt><dd><p> | 110 </p></dd><dt><span class="term"><code class="literal"><And></code></spa
n></dt><dd><p> |
114 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 |
115 <code class="literal">Bug</code> and <code class="literal">Confidence</code>
elements 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 |
116 to match specific bugs with given confidence only. | 113 to match specific bugs with given confidence only. |
117 </p></dd><dt><span class="term"><code class="literal"><Not></code></spa
n></dt><dd><p> | 114 </p></dd><dt><span class="term"><code class="literal"><Not></code></spa
n></dt><dd><p> |
118 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 |
119 <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 |
120 excluding the given one. | 117 excluding the given one. |
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 </p></dd></dl></div></div><div class="sect1"><div class="titlepage"><div><div
><h2 class="title" style="clear: both"><a name="d0e2197"></a>3. Java elemen
t name matching</h2></div></div></div><p> |
122 If the <code class="literal">name</code> attribute of <code class="literal">Clas
s</code>, <code class="literal">Source</code>, | 119 If the <code class="literal">name</code> attribute of <code class="literal">Clas
s</code>, <code class="literal">Source</code>, |
123 <code class="literal">Method</code> or <code class="literal">Field</code> starts
with the ~ character | 120 <code class="literal">Method</code> or <code class="literal">Field</code> starts
with the ~ character |
124 the rest of attribute content is interpreted as | 121 the rest of attribute content is interpreted as |
125 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. |
126 </p><p> | 123 </p><p> |
127 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 |
128 at pattern beginning and/or end to perform substring matching. | 125 at pattern beginning and/or end to perform substring matching. |
129 </p><p> | 126 </p><p> |
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> | 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> |
131 documentation for pattern syntax. | 128 documentation for pattern syntax. |
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> | 129 </p></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title"
style="clear: both"><a name="d0e2225"></a>4. Caveats</h2></div></div></div>
<p> |
133 <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 |
134 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 |
135 bugs by class will work. | 132 bugs by class will work. |
136 </p><p> | 133 </p><p> |
137 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) |
138 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 |
139 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. |
140 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. |
141 So, for example, if you want to suppress IC (initialization circularity) | 138 So, for example, if you want to suppress IC (initialization circularity) |
142 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 Loading... |
156 | 153 |
157 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 |
158 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 |
159 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 |
160 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 |
161 class.) | 158 class.) |
162 </p><p> | 159 </p><p> |
163 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, |
164 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 |
165 as expected. | 162 as expected. |
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> | 163 </p></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title"
style="clear: both"><a name="d0e2255"></a>5. Examples</h2></div></div></div
><p> |
167 1. Match all bug reports for a class. | 164 1. Match all bug reports for a class. |
168 | 165 |
169 </p><pre class="programlisting"> | 166 </p><pre class="programlisting"> |
170 | 167 |
171 <Match> | 168 <Match> |
172 <Class name="com.foobar.MyClass" /> | 169 <Class name="com.foobar.MyClass" /> |
173 </Match> | 170 </Match> |
174 | 171 |
175 </pre><p> | 172 </pre><p> |
176 | 173 |
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
325 </p><pre class="programlisting"> | 322 </p><pre class="programlisting"> |
326 | 323 |
327 <?xml version="1.0" encoding="UTF-8"?> | 324 <?xml version="1.0" encoding="UTF-8"?> |
328 <FindBugsFilter> | 325 <FindBugsFilter> |
329 <Match> | 326 <Match> |
330 <Source name="~.*\.groovy" /> | 327 <Source name="~.*\.groovy" /> |
331 </Match> | 328 </Match> |
332 </FindBugsFilter> | 329 </FindBugsFilter> |
333 | 330 |
334 </pre><p> | 331 </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"> | 332 </p></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title"
style="clear: both"><a name="d0e2318"></a>6. Complete Example</h2></div></d
iv></div><pre class="programlisting"> |
336 | 333 |
337 <FindBugsFilter> | 334 <FindBugsFilter> |
338 <Match> | 335 <Match> |
339 <Class name="com.foobar.ClassNotToBeAnalyzed" /> | 336 <Class name="com.foobar.ClassNotToBeAnalyzed" /> |
340 </Match> | 337 </Match> |
341 | 338 |
342 <Match> | 339 <Match> |
343 <Class name="com.foobar.ClassWithSomeBugsMatched" /> | 340 <Class name="com.foobar.ClassWithSomeBugsMatched" /> |
344 <Bug code="DE,UrF,SIC" /> | 341 <Bug code="DE,UrF,SIC" /> |
345 </Match> | 342 </Match> |
(...skipping 26 matching lines...) Expand all Loading... |
372 <Match> | 369 <Match> |
373 <Class name="~.*\.*Test" /> | 370 <Class name="~.*\.*Test" /> |
374 <Not> | 371 <Not> |
375 <Bug code="IJU" /> | 372 <Bug code="IJU" /> |
376 </Not> | 373 </Not> |
377 </Match> | 374 </Match> |
378 | 375 |
379 </FindBugsFilter> | 376 </FindBugsFilter> |
380 | 377 |
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> | 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> </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 |