<html>
<head>
<title>Contributing to FindBugs</title>
<link rel="stylesheet" type="text/css" href="findbugs.css">
@GOOGLE_ANALYTICS@
</head>
<body>
<table width="100%"><tr>
@HTML_SIDEBAR@
<td align="left" valign="top">
<h1>Contributing to FindBugs</h1>
<p> If you have a bug fix or feature enhancement you would like to contribute,
we would be happy to consider it for inclusion.</p>
<h2>Import FindBugs code as Eclipse projects</h2>
<p>The preferred way to get the FindBugs source code and create the patch is to use Eclipse + Git.
You can easily import FindBugs code into Eclipse by following the steps described
here: <a href="https://github.com/findbugsproject/findbugs/blob/master/eclipsePlugin/doc/building_findbugsplugin.txt">Import Eclipse projects</a>
.
</p>
<h2>Preparing a patch</h2>
<p> The best way to create a patch is to fork FindBugs Git repository here:
<a href="https://github.com/findbugsproject/findbugs">https://github.com/findbugsproject/findbugs</a>,
commit changes with descriptive commit messages (small commits are better) and
create a new <a href="https://github.com/findbugsproject/findbugs/pulls">pull request</a>
with the appropriate title and description.
</p>
<p> Please follow these guidelines when preparing your patch:</p>
<ul>
<li> <b>Use the same indentation style as the source file(s) you
are modifying</b>. In particular, please use spaces
to indent your code; four spaces per indent level.
<li> If at all possible, avoid making whitespace modifications.
<li> Small patches/changesets are appreciated.
<li> If you have lot of changes, try to group them by small commits with descriptive messages.
<li> If you have multiple patches, create <b>branch per patch</b>.
<li> All new files should contain proper license header (<a href="http://www.gnu.org/licenses/lgpl.html">Lesser GNU Public License</a>).
<li> If you are submitting a new bug detector, please submit a small
standalone source file that contains an instance of the
kind of bug the detector looks for. The file should be placed at
<a href="https://github.com/findbugsproject/findbugs/tree/master/findbugsTestCases/src/java/ghBugsNew">findbugsTestCases/src/java/ghBugsNew</a>
package and named after the bug or feature you are addressing.
</ul>
<p> Following these guidelines makes it much easier for us
to incorporate new code.
<h2>Where to submit a patch</h2>
<p> Patches may be submitted through the
<a href="https://github.com/findbugsproject/findbugs/pulls">pull requests</a> on the
<a href="https://github.com/findbugsproject/findbugs">GitHub project page</a>.
@HTML_FOOTER@
</td>
</tr></table>
</body>
</html>