@@ -254,16 +254,28 @@ subprojects { subProject ->
254
254
toolVersion = ' 3.0.1'
255
255
// for now we need to set this to low so that FindBugs will actually report the DM_CONVERT_CASE warning we care about
256
256
reportLevel = ' low'
257
+ // remove all low level bug warnings except DM_CONVERT_CASE
258
+ excludeFilterConfig= resources. text. fromString(excludeAllLowLevelBugsExcept(' DM_CONVERT_CASE' ))
257
259
}
258
- // exclude generated java sources - by explicitly setting the base source dir
259
- findbugsMain. source = ' src/main/java'
260
260
261
+ // exclude generated java sources and cfg package is a mess mainly from annotation stuff
262
+ findbugsMain. doFirst {
263
+ classes = classes. filter {
264
+ ! it. path. contains( ' org/hibernate/hql/internal/antlr' ) &&
265
+ ! it. path. contains( ' org/hibernate/boot/jaxb/cfg/spi' ) &&
266
+ ! it. path. contains( ' org/hibernate/sql/ordering/antlr/Generated' ) &&
267
+ ! it. path. contains( ' org/hibernate/sql/ordering/antlr/OrderByTemplateTokenTypes' ) &&
268
+ ! it. path. contains( ' org/hibernate/boot/jaxb/hbm/spi/Jaxb' ) &&
269
+ ! it. path. contains( ' org/hibernate/boot/jaxb/hbm/spi/Adapter' ) &&
270
+ ! it. path. contains( ' org/hibernate/boot/jaxb/hbm/spi/ObjectFactory' ) &&
271
+ ! it. path. contains( ' org/hibernate/cfg' ) &&
272
+ ! it. path. contains( ' _\$ logger' )
273
+ }
274
+ }
261
275
262
- // because cfg package is a mess mainly from annotation stuff
276
+ // because cfg package is a mess mainly from annotation stuff
263
277
checkstyleMain. exclude ' **/org/hibernate/cfg/**'
264
278
checkstyleMain. exclude ' **/org/hibernate/cfg/*'
265
- findbugsMain. exclude ' **/org/hibernate/cfg/**'
266
- findbugsMain. exclude ' **/org/hibernate/cfg/*'
267
279
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
268
280
269
281
@@ -303,3 +315,19 @@ task release(type: Task, dependsOn: 'release:release')
303
315
task wrapper (type : Wrapper ) {
304
316
gradleVersion = expectedGradleVersion
305
317
}
318
+
319
+ def excludeAllLowLevelBugsExcept (String [] bugTypes ){
320
+ def writer = new StringWriter ()
321
+ def xml = new groovy.xml.MarkupBuilder (writer);
322
+ xml.FindBugsFilter {
323
+ Match {
324
+ Confidence ( value : ' 3' )
325
+ bugTypes. each { bug ->
326
+ Not {
327
+ Bug ( pattern : " ${ bug} " )
328
+ }
329
+ }
330
+ }
331
+ }
332
+ return writer. toString( )
333
+ }
0 commit comments