Мне интересно, могут ли фильтры исключения Findbugs помочь сократить время выполнения. Кажется, что независимо от фильтров исключений, все правила и все двоичные файлы анализируются, даже когда они перечислены в исключениях сонара!
Я протестировал поведение фильтров исключений Findbugs в сборке Maven с возможностью отладки, чтобы увидеть, что происходит под капотом.
pom. xml:
<properties>
<findbugs.maxHeap>20000</findbugs.maxHeap>
<findbugs.timeout>7200000</findbugs.timeout>
<findbugs.debug>true</findbugs.debug>
<findbugs.excludeFilterFile>findbugs_exclude.xml</findbugs.excludeFilterFile>
</properties>
Я подтвердил, что Findbugs читает файл XML. Однако я не уверен, что Findbugs понял содержимое файла XML, поскольку, по-видимому, он не сообщает об ошибках.
findbugs_exclude. xml:
<FindBugsFilter>
<Match>
<Class name="~.*?\.webservices\..*" />
</Match>
</FindBugsFilter>
Вывод из Finbugs:
[java] Pass 1: Analyzing classes (7 / 9335) - 00% complete 16 usecs/byte 114 msec 6828 bytes 0 pass br/com/cit/caf/quickform/core/presentation/html/util/HTMLFieldGenerator 0 0/2 7/9335 br/com/my-app/webservices/bean/AbcResponse
[java] Applying edu.umd.cs.findbugs.detect.NoteSuppressedWarnings to br/com/my-app/webservices/bean/AbcResponse
[java] Applying edu.umd.cs.findbugs.detect.FindBugsSummaryStats to br/com/my-app/webservices/bean/AbcResponse
[java] Applying edu.umd.cs.findbugs.detect.OverridingEqualsNotSymmetrical to br/com/my-app/webservices/bean/AbcResponse
[java] Applying edu.umd.cs.findbugs.detect.EqualsOperandShouldHaveClassCompatibleWithThis to br/com/my-app/webservices/bean/AbcResponse
[java] Applying edu.umd.cs.findbugs.detect.FieldItemSummary to br/com/my-app/webservices/bean/AbcResponse
[java] Applying edu.umd.cs.findbugs.detect.FunctionsThatMightBeMistakenForProcedures to br/com/my-app/webservices/bean/AbcResponse
[java] Applying edu.umd.cs.findbugs.detect.NoteAnnotationRetention to br/com/my-app/webservices/bean/AbcResponse
[java] Applying edu.umd.cs.findbugs.detect.NoteDirectlyRelevantTypeQualifiers to br/com/my-app/webservices/bean/AbcResponse
[java] Applying edu.umd.cs.findbugs.detect.BuildObligationPolicyDatabase to br/com/my-app/webservices/bean/AbcResponse
[java] Applying edu.umd.cs.findbugs.detect.NoteJCIPAnnotation to br/com/my-app/webservices/bean/AbcResponse
[java] Applying edu.umd.cs.findbugs.detect.Methods to br/com/my-app/webservices/bean/AbcResponse
[java] Applying edu.umd.cs.findbugs.detect.ReflectiveClasses to br/com/my-app/webservices/bean/AbcResponse
[java] Applying edu.umd.cs.findbugs.detect.CalledMethods to br/com/my-app/webservices/bean/AbcResponse
[java] Applying edu.umd.cs.findbugs.detect.FindNoSideEffectMethods to br/com/my-app/webservices/bean/AbcResponse
[java] Applying edu.umd.cs.findbugs.detect.BuildStringPassthruGraph to br/com/my-app/webservices/bean/AbcResponse
[java] Applying edu.umd.cs.findbugs.detect.NoteCheckReturnValueAnnotations to br/com/my-app/webservices/bean/AbcResponse
[java] Applying edu.umd.cs.findbugs.detect.ExplicitSerialization to br/com/my-app/webservices/bean/AbcResponse
Это ожидаемый результат? Должен ли Findbugs действительно тратить время на анализ файлов, перечисленных на исключающих фильтрах? О, если Findbugs их пропустят?
Буду признателен за любой совет.