Annotations work out the box with Findbugs as long as two dependencies are added in the compile scope of the pom.xml of your project.
Download the latest version of Findbugs http://findbugs.sourceforge.net/downloads.html and you will find in the lib directory annotations.jar and jsr305.jar
I added the two dependencies locally via :
mvn install:install-file -DgroupId=findbugs -DartifactId=annotations -Dversion=x -Dpackaging=jar -Dfile=/tmp/findbugs-1.3.9/lib/annotations.jar mvn install:install-file -DgroupId=findbugs -DartifactId=jcr305 -Dversion=x -Dpackaging=jar -Dfile=/tmp/findbugs-1.3.9/lib/jsr305.jar |
Todo: Obviously the dependencies need to be added to the Sakai maven repository.
mvn deploy:deploy-file -DgroupId=findbugs -DartifactId=findbugs -Dversion=1.3.9 -Dfile=findbugs.jar -Dpackaging=jar -DrepositoryId=Sakai-Maven2 -Durl=dav:https://source.sakaiproject.org/maven2 |
OR
mvn deploy:deploy-file -DgroupId=findbugs -DartifactId=findbugs -Dversion=1.3.9 -Dfile=findbugs.jar -Dpackaging=jar -Durl=scp://source.sakaiproject.org/var/www/html/maven2 -DrepositoryId=sakai-maven2-scp |
In the pom.xml
<dependency> <groupId>findbugs</groupId> <artifactId>annotations</artifactId> <version>1.3.9</version> <scope>compile</scope> </dependency> <dependency> <groupId>findbugs</groupId> <artifactId>jsr305</artifactId> <version>1.3.9</version> <scope>compile</scope> </dependency> |
I am not sure about the licensing implications. The license file for jsr305 is BSD and I assume annotations is part of findbugs is GPL 2.1. The Jars are not included in a running application, but support compilation.
The possible annotations are mentioned at: http://findbugs.sourceforge.net/manual/annotations.html
@edu.umd.cs.findbugs.annotations.SuppressWarnings (value="EQ_ALWAYS_TRUE", justification="Deny everything") public boolean equals(Object testObject){ return true; } |