无法使用FindBugs排除文件

时间:2017-11-17 12:57:17

标签: gradle build.gradle findbugs gradle-plugin

我有一个gradle项目,我想从Findbugs的分析中排除一些文件 我的项目中有一些生成的代码,我想要排除这些类

以下是我的build.gradle中的findbugs设置

doGet

excludeFilter.xml的竞争对手如下

apply plugin: 'findbugs'
findbugs {
    toolVersion "3.0.1"
}

tasks.withType(FindBugs) {
    excludeFilter = rootProject.file('projectConfig/findbugs/excludeFilter.xml')

    reports {
        xml.enabled false
        html.enabled true
        html.stylesheet resources.text.fromFile('../projectConfig/findbugs/findbugs-style.xsl')
    }
}

我要排除的示例文件具有以下包和类名

<?xml version="1.0" encoding="UTF-8"?>
<FindBugsFilter>
  <Match>
     <Class name="~.*\.Immutable*\.java" />
  </Match>
  <Match>
     <Class name="~.*\.GsonAdapters*\.java" />
  </Match> 
</FindBugsFilter>

对于我可以做些什么来排除这些模式的任何帮助都将不胜感激

谢谢 达米恩

1 个答案:

答案 0 :(得分:1)

这似乎是您的排除模式(docsregex)的问题。尝试:

<Match>
  <Or>
    <Class name="~.*?\.Immutable.*" />
    <Class name="~.*?\.GsonAdapters.*" />
  </Or>
</Match>

详细地说,我将表达式的开头更改为&#34; greedy&#34;,并删除.java部分,因为此表达式应用于类名。此外,星号运算符始终适用于前一个元素,因此您缺少一些点。