如何使用 gradle 脚本生成 findbugs 报告?
How to generate findbugs reports using gradle script?
我正在尝试使用 findbugs 插件生成报告,我在下面写了 gradle script.I 我正在设置报告的目标文件夹,但相应的文件夹没有得到 generated.So,如何解决这个问题。
我可以使用导出按钮手动生成报告,但我想从 gradle 脚本生成。
是否可以从 gradle 脚本生成报告?
我的 gradle 版本 - 2.2.1
task findbugs(type: FindBugs) {
ignoreFailures = true
effort = "max"
reportLevel = "high"
classes = files("${project.buildDir}/findbugs")
source 'src'
include '**/*.java'
exclude '**/gen/**'
reports {
xml.enabled = true
xml {
destination "$project.buildDir/reports/findbugs/findbugs.xml"
xml.withMessages true
}
}
classpath = files()
}
我设法通过以下 gradle 脚本片段找到 运行 最新 gradle 的 findbugs:
apply plugin: 'findbugs'
task customFindbugs(type: FindBugs) {
ignoreFailures = true
effort = "default"
reportLevel = "medium"
classes = files("$project.buildDir/intermediates/classes")
excludeFilter = file("$rootProject.rootDir/config/findbugs/exclude.xml")
source = fileTree('src/main/java/')
classpath = files()
reports {
xml.enabled = false
xml.withMessages = true
html.enabled = !xml.isEnabled()
xml.destination "$project.buildDir/outputs/findbugs/findbugs-output.xml"
html.destination "$project.buildDir/outputs/findbugs/findbugs-output.html"
}
}
// UPDATE: renamed the task to customFindbugs and made it automatically be called when build is called
build.dependsOn customFindbugs
我的 exclude.xml 如下所示:
<FindBugsFilter>
<Match>
<Class name="~.*R$.*"/>
</Match>
<Match>
<Class name="~.*Manifest$.*"/>
</Match>
<Match>
<Class name="~.*_$.*"/>
</Match>
</FindBugsFilter>
而最后一次检查用于省略由 AndroidAnnotations 生成的 类,您很可能不会使用此检查...
之后我可以 运行
完成任务
./gradlew customFindbugs
或者自从
更新了我的代码
./gradlew build
我正在尝试使用 findbugs 插件生成报告,我在下面写了 gradle script.I 我正在设置报告的目标文件夹,但相应的文件夹没有得到 generated.So,如何解决这个问题。
我可以使用导出按钮手动生成报告,但我想从 gradle 脚本生成。
是否可以从 gradle 脚本生成报告?
我的 gradle 版本 - 2.2.1
task findbugs(type: FindBugs) {
ignoreFailures = true
effort = "max"
reportLevel = "high"
classes = files("${project.buildDir}/findbugs")
source 'src'
include '**/*.java'
exclude '**/gen/**'
reports {
xml.enabled = true
xml {
destination "$project.buildDir/reports/findbugs/findbugs.xml"
xml.withMessages true
}
}
classpath = files()
}
我设法通过以下 gradle 脚本片段找到 运行 最新 gradle 的 findbugs:
apply plugin: 'findbugs'
task customFindbugs(type: FindBugs) {
ignoreFailures = true
effort = "default"
reportLevel = "medium"
classes = files("$project.buildDir/intermediates/classes")
excludeFilter = file("$rootProject.rootDir/config/findbugs/exclude.xml")
source = fileTree('src/main/java/')
classpath = files()
reports {
xml.enabled = false
xml.withMessages = true
html.enabled = !xml.isEnabled()
xml.destination "$project.buildDir/outputs/findbugs/findbugs-output.xml"
html.destination "$project.buildDir/outputs/findbugs/findbugs-output.html"
}
}
// UPDATE: renamed the task to customFindbugs and made it automatically be called when build is called
build.dependsOn customFindbugs
我的 exclude.xml 如下所示:
<FindBugsFilter>
<Match>
<Class name="~.*R$.*"/>
</Match>
<Match>
<Class name="~.*Manifest$.*"/>
</Match>
<Match>
<Class name="~.*_$.*"/>
</Match>
</FindBugsFilter>
而最后一次检查用于省略由 AndroidAnnotations 生成的 类,您很可能不会使用此检查...
之后我可以 运行
完成任务./gradlew customFindbugs
或者自从
更新了我的代码./gradlew build