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 3. Building FindBugs™ from Source</title><meta
name="generator" content="DocBook XSL Stylesheets V1.76.1"><link rel="home" hre
f="index.html" title="FindBugs™ Manual"><link rel="up" href="index.html" t
itle="FindBugs™ Manual"><link rel="prev" href="installing.html" title="Cha
pter 2. Installing FindBugs™"><link rel="next" href="running.htm
l" title="Chapter 4. Running FindBugs™"></head><body bgcolor="wh
ite" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="nav
header"><table width="100%" summary="Navigation header"><tr><th colspan="3" alig
n="center">Chapter 3. Building <span class="application">FindBugs</spa
n>™ from Source</th></tr><tr><td width="20%" align="left"><a accesskey="p"
href="installing.html">Prev</a> </td><th width="60%" align="center">
</th><td width="20%" align="right"> <a accesskey="n" href="running.html">Ne
xt</a></td></tr></table><hr></div><div class="chapter" title="Chapter 3.&nb
sp;Building FindBugs™ from Source"><div class="titlepage"><div><div><h2 cl
ass="title"><a name="building"></a>Chapter 3. Building <span class="ap
plication">FindBugs</span>™ from Source</h2></div></div></div><div class="
toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="buildin
g.html#d0e173">1. Prerequisites</a></span></dt><dt><span class="sect1"><a href="
building.html#d0e262">2. Extracting the Source Distribution</a></span></dt><dt><
span class="sect1"><a href="building.html#d0e275">3. Modifying <code class="file
name">local.properties</code></a></span></dt><dt><span class="sect1"><a href="bu
ilding.html#d0e333">4. Running <span class="application">Ant</span></a></span></
dt><dt><span class="sect1"><a href="building.html#d0e427">5. Running <span class
="application">FindBugs</span>™ from a source directory</a></span></dt></d
l></div><p> | 3 <title>Chapter 3. Building FindBugs™ from Source</title><meta
name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" hre
f="index.html" title="FindBugs™ Manual"><link rel="up" href="index.html" t
itle="FindBugs™ Manual"><link rel="prev" href="installing.html" title="Cha
pter 2. Installing FindBugs™"><link rel="next" href="running.htm
l" title="Chapter 4. Running FindBugs™"></head><body bgcolor="wh
ite" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="nav
header"><table width="100%" summary="Navigation header"><tr><th colspan="3" alig
n="center">Chapter 3. Building <span class="application">FindBugs</spa
n>™ from Source</th></tr><tr><td width="20%" align="left"><a accesskey="p"
href="installing.html">Prev</a> </td><th width="60%" align="center">
</th><td width="20%" align="right"> <a accesskey="n" href="running.html">Ne
xt</a></td></tr></table><hr></div><div class="chapter"><div class="titlepage"><d
iv><div><h1 class="title"><a name="building"></a>Chapter 3. Building <
span class="application">FindBugs</span>™ from Source</h1></div></div></di
v><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span clas
s="sect1"><a href="building.html#d0e173">1. Prerequisites</a></span></dt><dt><sp
an class="sect1"><a href="building.html#d0e262">2. Extracting the Source Distrib
ution</a></span></dt><dt><span class="sect1"><a href="building.html#d0e275">3. M
odifying <code class="filename">local.properties</code></a></span></dt><dt><span
class="sect1"><a href="building.html#d0e333">4. Running <span class="applicatio
n">Ant</span></a></span></dt><dt><span class="sect1"><a href="building.html#d0e4
27">5. Running <span class="application">FindBugs</span>™ from a source di
rectory</a></span></dt></dl></div><p> |
4 This chapter describes how to build <span class="application">FindBugs</span> fr
om source code. Unless you are | 4 This chapter describes how to build <span class="application">FindBugs</span> fr
om source code. Unless you are |
5 interesting in modifying <span class="application">FindBugs</span>, you will pro
bably want to skip to the | 5 interesting in modifying <span class="application">FindBugs</span>, you will pro
bably want to skip to the |
6 <a class="link" href="running.html" title="Chapter 4. Running FindBugs
™">next chapter</a>. | 6 <a class="link" href="running.html" title="Chapter 4. Running FindBugs
™">next chapter</a>. |
7 </p><div class="sect1" title="1. Prerequisites"><div class="titlepage"><div
><div><h2 class="title" style="clear: both"><a name="d0e173"></a>1. Prerequ
isites</h2></div></div></div><p> | 7 </p><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style=
"clear: both"><a name="d0e173"></a>1. Prerequisites</h2></div></div></div><
p> |
8 To compile <span class="application">FindBugs</span> from source, you will need
the following: | 8 To compile <span class="application">FindBugs</span> from source, you will need
the following: |
9 </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="li
stitem"><p> | 9 </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: d
isc; "><li class="listitem"><p> |
10 The <a class="ulink" href="http://prdownloads.sourceforge.net/findbugs/fin
dbugs-3.0.0-source.zip?download" target="_top"><span class="application">FindBug
s</span> source distribution</a> | 10 The <a class="ulink" href="http://prdownloads.sourceforge.net/findbugs/fin
dbugs-3.0.1-source.zip?download" target="_top"><span class="application">FindBug
s</span> source distribution</a> |
11 </p></li><li class="listitem"><p> | 11 </p></li><li class="listitem"><p> |
12 <a class="ulink" href="http://java.sun.com/j2se/" target="_top">JDK 1.5.0
or later</a> | 12 <a class="ulink" href="http://java.sun.com/j2se/" target="_top">JDK 1.5.0
or later</a> |
13 </p></li><li class="listitem"><p> | 13 </p></li><li class="listitem"><p> |
14 <a class="ulink" href="http://ant.apache.org/" target="_top">Apache <span
class="application">Ant</span></a>, version 1.6.3 or later | 14 <a class="ulink" href="http://ant.apache.org/" target="_top">Apache <span
class="application">Ant</span></a>, version 1.6.3 or later |
15 </p></li></ul></div><p> | 15 </p></li></ul></div><p> |
16 </p><div class="warning" title="Warning" style="margin-left: 0.5in; margin-right
: 0.5in;"><table border="0" summary="Warning"><tr><td rowspan="2" align="center"
valign="top" width="25"><img alt="[Warning]" src="warning.png"></td><th align="
left">Warning</th></tr><tr><td align="left" valign="top"><p> | 16 </p><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><table
border="0" summary="Warning"><tr><td rowspan="2" align="center" valign="top" wi
dth="25"><img alt="[Warning]" src="warning.png"></td><th align="left">Warning</t
h></tr><tr><td align="left" valign="top"><p> |
17 The version of <span class="application">Ant</span> included as <code cl
ass="filename">/usr/bin/ant</code> on | 17 The version of <span class="application">Ant</span> included as <code cl
ass="filename">/usr/bin/ant</code> on |
18 Redhat Linux systems will <span class="emphasis"><em>not</em></span> wor
k for compiling | 18 Redhat Linux systems will <span class="emphasis"><em>not</em></span> wor
k for compiling |
19 <span class="application">FindBugs</span>. We recommend you install a b
inary distribution of <span class="application">Ant</span> | 19 <span class="application">FindBugs</span>. We recommend you install a b
inary distribution of <span class="application">Ant</span> |
20 downloaded from the <a class="ulink" href="http://ant.apache.org/" targe
t="_top"><span class="application">Ant</span> website</a>. | 20 downloaded from the <a class="ulink" href="http://ant.apache.org/" targe
t="_top"><span class="application">Ant</span> website</a>. |
21 Make sure that when you run <span class="application">Ant</span> your <e
m class="replaceable"><code>JAVA_HOME</code></em> | 21 Make sure that when you run <span class="application">Ant</span> your <e
m class="replaceable"><code>JAVA_HOME</code></em> |
22 environment variable points to the directory in which you installed | 22 environment variable points to the directory in which you installed |
23 JDK 1.5 (or later). | 23 JDK 1.5 (or later). |
24 </p></td></tr></table></div><p> | 24 </p></td></tr></table></div><p> |
25 If you want to be able to generate formatted versions of the <span class="applic
ation">FindBugs</span> documentation, | 25 If you want to be able to generate formatted versions of the <span class="applic
ation">FindBugs</span> documentation, |
26 you will also need the following software: | 26 you will also need the following software: |
27 </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="li
stitem"><p> | 27 </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: d
isc; "><li class="listitem"><p> |
28 The <a class="ulink" href="http://docbook.sourceforge.net/projects/xsl/index
.html" target="_top">DocBook XSL Stylesheets</a>. | 28 The <a class="ulink" href="http://docbook.sourceforge.net/projects/xsl/index
.html" target="_top">DocBook XSL Stylesheets</a>. |
29 These are required to convert the <span class="application">FindBugs</span>
manual into HTML format. | 29 These are required to convert the <span class="application">FindBugs</span>
manual into HTML format. |
30 </p></li><li class="listitem"><p> | 30 </p></li><li class="listitem"><p> |
31 The <a class="ulink" href="http://saxon.sourceforge.net/" target="_top"><s
pan class="application">Saxon</span> XSLT Processor</a>. | 31 The <a class="ulink" href="http://saxon.sourceforge.net/" target="_top"><s
pan class="application">Saxon</span> XSLT Processor</a>. |
32 (Also required for converting the <span class="application">FindBugs</span
> manual to HTML.) | 32 (Also required for converting the <span class="application">FindBugs</span
> manual to HTML.) |
33 </p></li></ul></div><p> | 33 </p></li></ul></div><p> |
34 </p></div><div class="sect1" title="2. Extracting the Source Distribution">
<div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
d0e262"></a>2. Extracting the Source Distribution</h2></div></div></div><p> | 34 </p></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title"
style="clear: both"><a name="d0e262"></a>2. Extracting the Source Distribut
ion</h2></div></div></div><p> |
35 After you download the source distribution, you'll need to extract it into | 35 After you download the source distribution, you'll need to extract it into |
36 a working directory. A typical command to do this is: | 36 a working directory. A typical command to do this is: |
37 | 37 |
38 </p><pre class="screen"> | 38 </p><pre class="screen"> |
39 <code class="prompt">$ </code><span class="command"><strong>unzip findbugs-3.0.0
-source.zip</strong></span> | 39 <code class="prompt">$ </code><span class="command"><strong>unzip findbugs-3.0.1
-source.zip</strong></span> |
40 </pre><p> | 40 </pre><p> |
41 | 41 |
42 </p></div><div class="sect1" title="3. Modifying local.properties"><div cla
ss="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e275">
</a>3. Modifying <code class="filename">local.properties</code></h2></div><
/div></div><p> | 42 </p></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title"
style="clear: both"><a name="d0e275"></a>3. Modifying <code class="filename
">local.properties</code></h2></div></div></div><p> |
43 If you intend to build the FindBugs documentation, | 43 If you intend to build the FindBugs documentation, |
44 you will need to modify the <code class="filename">local.properties</code> file | 44 you will need to modify the <code class="filename">local.properties</code> file |
45 used by the <a class="ulink" href="http://ant.apache.org/" target="_top"><span c
lass="application">Ant</span></a> | 45 used by the <a class="ulink" href="http://ant.apache.org/" target="_top"><span c
lass="application">Ant</span></a> |
46 <code class="filename">build.xml</code> file to build <span class="application">
FindBugs</span>. | 46 <code class="filename">build.xml</code> file to build <span class="application">
FindBugs</span>. |
47 If you do not want to build the FindBugs documentation, then you | 47 If you do not want to build the FindBugs documentation, then you |
48 can ignore this file. | 48 can ignore this file. |
49 </p><p> | 49 </p><p> |
50 The <code class="filename">local.properties</code> overrides definitions | 50 The <code class="filename">local.properties</code> overrides definitions |
51 in the <code class="filename">build.properties</code> file. | 51 in the <code class="filename">build.properties</code> file. |
52 The <code class="filename">build.properties</code> file looks something like thi
s: | 52 The <code class="filename">build.properties</code> file looks something like thi
s: |
(...skipping 19 matching lines...) Expand all Loading... |
72 The <code class="varname">xsl.stylesheet.home</code> property specifies the full | 72 The <code class="varname">xsl.stylesheet.home</code> property specifies the full |
73 path to the directory where you have installed the | 73 path to the directory where you have installed the |
74 <a class="ulink" href="http://docbook.sourceforge.net/projects/xsl/" target="_to
p">DocBook Modular XSL | 74 <a class="ulink" href="http://docbook.sourceforge.net/projects/xsl/" target="_to
p">DocBook Modular XSL |
75 Stylesheets</a>. You only need to specify this property if you will be | 75 Stylesheets</a>. You only need to specify this property if you will be |
76 generating the <span class="application">FindBugs</span> documentation. | 76 generating the <span class="application">FindBugs</span> documentation. |
77 </p><p> | 77 </p><p> |
78 The <code class="varname">saxon.home</code> property is the full path to the | 78 The <code class="varname">saxon.home</code> property is the full path to the |
79 directory where you installed the <a class="ulink" href="http://saxon.sourceforg
e.net/" target="_top"><span class="application">Saxon</span> XSLT Processor</a>. | 79 directory where you installed the <a class="ulink" href="http://saxon.sourceforg
e.net/" target="_top"><span class="application">Saxon</span> XSLT Processor</a>. |
80 You only need to specify this property if you will be | 80 You only need to specify this property if you will be |
81 generating the <span class="application">FindBugs</span> documentation. | 81 generating the <span class="application">FindBugs</span> documentation. |
82 </p></div><div class="sect1" title="4. Running Ant"><div class="titlepage">
<div><div><h2 class="title" style="clear: both"><a name="d0e333"></a>4. Run
ning <span class="application">Ant</span></h2></div></div></div><p> | 82 </p></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title"
style="clear: both"><a name="d0e333"></a>4. Running <span class="applicatio
n">Ant</span></h2></div></div></div><p> |
83 Once you have extracted the source distribution, | 83 Once you have extracted the source distribution, |
84 made sure that <span class="application">Ant</span> is installed, | 84 made sure that <span class="application">Ant</span> is installed, |
85 modified <code class="filename">build.properties</code> (optional), | 85 modified <code class="filename">build.properties</code> (optional), |
86 and configured the tools (such as <span class="application">Saxon</span>), | 86 and configured the tools (such as <span class="application">Saxon</span>), |
87 you are ready to build <span class="application">FindBugs</span>. Invoking <spa
n class="application">Ant</span> is a simple matter | 87 you are ready to build <span class="application">FindBugs</span>. Invoking <spa
n class="application">Ant</span> is a simple matter |
88 of running the command | 88 of running the command |
89 </p><pre class="screen"> | 89 </p><pre class="screen"> |
90 <code class="prompt">$ </code><span class="command"><strong>ant <em class="repla
ceable"><code>target</code></em></strong></span> | 90 <code class="prompt">$ </code><span class="command"><strong>ant <em class="repla
ceable"><code>target</code></em></strong></span> |
91 </pre><p> | 91 </pre><p> |
92 where <em class="replaceable"><code>target</code></em> is one of the following: | 92 where <em class="replaceable"><code>target</code></em> is one of the following: |
93 </p><div class="variablelist"><dl><dt><span class="term"><span class="command"><
strong>build</strong></span></span></dt><dd><p> | 93 </p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><s
pan class="command"><strong>build</strong></span></span></dt><dd><p> |
94 This target compiles the code for <span class="application">FindBugs</s
pan>. It is the default target. | 94 This target compiles the code for <span class="application">FindBugs</s
pan>. It is the default target. |
95 </p></dd><dt><span class="term"><span class="command"><strong>docs</stron
g></span></span></dt><dd><p> | 95 </p></dd><dt><span class="term"><span class="command"><strong>docs</stron
g></span></span></dt><dd><p> |
96 This target formats the documentation. (It also compiles some of | 96 This target formats the documentation. (It also compiles some of |
97 the source code as a side-effect.) | 97 the source code as a side-effect.) |
98 </p></dd><dt><span class="term"><span class="command"><strong>runjunit</s
trong></span></span></dt><dd><p> | 98 </p></dd><dt><span class="term"><span class="command"><strong>runjunit</s
trong></span></span></dt><dd><p> |
99 This target compiles and runs the internal JUnit tests included | 99 This target compiles and runs the internal JUnit tests included |
100 in <span class="application">FindBugs</span>. It will print an erro
r message if any unit | 100 in <span class="application">FindBugs</span>. It will print an erro
r message if any unit |
101 tests fail. | 101 tests fail. |
102 </p></dd><dt><span class="term"><span class="command"><strong>bindist</s
trong></span></span></dt><dd><p> | 102 </p></dd><dt><span class="term"><span class="command"><strong>bindist</s
trong></span></span></dt><dd><p> |
103 Builds a binary distribution of <span class="application">FindBugs</
span>. | 103 Builds a binary distribution of <span class="application">FindBugs</
span>. |
104 The target creates both <code class="filename">.zip</code> and | 104 The target creates both <code class="filename">.zip</code> and |
105 <code class="filename">.tar.gz</code> archives. | 105 <code class="filename">.tar.gz</code> archives. |
106 </p></dd></dl></div><p> | 106 </p></dd></dl></div><p> |
107 </p><p> | 107 </p><p> |
108 After running an <span class="application">Ant</span> command, you should see ou
tput similar to | 108 After running an <span class="application">Ant</span> command, you should see ou
tput similar to |
109 the following (after some other messages regarding the tasks that | 109 the following (after some other messages regarding the tasks that |
110 <span class="application">Ant</span> is running): | 110 <span class="application">Ant</span> is running): |
111 </p><pre class="screen"> | 111 </p><pre class="screen"> |
112 <code class="computeroutput"> | 112 <code class="computeroutput"> |
113 BUILD SUCCESSFUL | 113 BUILD SUCCESSFUL |
114 Total time: 17 seconds | 114 Total time: 17 seconds |
115 </code> | 115 </code> |
116 </pre><p> | 116 </pre><p> |
117 </p></div><div class="sect1" title="5. Running FindBugs™ from a sourc
e directory"><div class="titlepage"><div><div><h2 class="title" style="clear: bo
th"><a name="d0e427"></a>5. Running <span class="application">FindBugs</spa
n>™ from a source directory</h2></div></div></div><p> | 117 </p></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title"
style="clear: both"><a name="d0e427"></a>5. Running <span class="applicatio
n">FindBugs</span>™ from a source directory</h2></div></div></div><p> |
118 The <span class="application">Ant</span> build script for <span class="applicati
on">FindBugs</span> is written such that after | 118 The <span class="application">Ant</span> build script for <span class="applicati
on">FindBugs</span> is written such that after |
119 building the <span class="command"><strong>build</strong></span> target, the wor
king directory | 119 building the <span class="command"><strong>build</strong></span> target, the wor
king directory |
120 is set up just like a binary distribution. So, the information about | 120 is set up just like a binary distribution. So, the information about |
121 running <span class="application">FindBugs</span> in <a class="xref" href="runni
ng.html" title="Chapter 4. Running FindBugs™">Chapter 4, <i
>Running <span class="application">FindBugs</span>™</i></a> | 121 running <span class="application">FindBugs</span> in <a class="xref" href="runni
ng.html" title="Chapter 4. Running FindBugs™">Chapter 4, <i
>Running <span class="application">FindBugs</span>™</i></a> |
122 applies to source distributions, too. | 122 applies to source distributions, too. |
123 </p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigati
on footer"><tr><td width="40%" align="left"><a accesskey="p" href="installing.ht
ml">Prev</a> </td><td width="20%" align="center"> </td><td width="40%"
align="right"> <a accesskey="n" href="running.html">Next</a></td></tr><tr>
<td width="40%" align="left" valign="top">Chapter 2. Installing <span
class="application">FindBugs</span>™ </td><td width="20%" align="cent
er"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right
" valign="top"> Chapter 4. Running <span class="application">Find
Bugs</span>™</td></tr></table></div></body></html> | 123 </p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigati
on footer"><tr><td width="40%" align="left"><a accesskey="p" href="installing.ht
ml">Prev</a> </td><td width="20%" align="center"> </td><td width="40%"
align="right"> <a accesskey="n" href="running.html">Next</a></td></tr><tr>
<td width="40%" align="left" valign="top">Chapter 2. Installing <span
class="application">FindBugs</span>™ </td><td width="20%" align="cent
er"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right
" valign="top"> Chapter 4. Running <span class="application">Find
Bugs</span>™</td></tr></table></div></body></html> |
OLD | NEW |